चालू VIA को ये लोग चुनते हैं:
ManageAssistActivity
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
कार सेटिंग में जाकर. यह फ़्लो, PackageInstaller
ऐप्लिकेशन से ट्रिगर होता है
सेटिंग स्क्रीन के डिफ़ॉल्ट ऐप्लिकेशन सेक्शन की इमेज का इस्तेमाल करें.
पहला डायग्राम. सेटिंग स्क्रीन पर डिफ़ॉल्ट ऐप्लिकेशन
चुने गए VIA को सिस्टम में दो तरीकों से दिखाया जाता है:
RolesManager
के हिस्से के तौर पर सिस्टम सर्विसVoiceInteractionManagerService
सेAssistUtils
तक इंटरनल एपीआई.
कैंडिडेट के वीआईए की सूची, RolesManager
का इस्तेमाल करके हासिल की जा सकती है
android.app.role.ASSISTANT
भूमिका के साथ.
हॉटवर्ड ट्रिगर करना
Android, AlwaysOnHotwordDetector मुहैया कराता है
हार्डवेयर DSP के शीर्ष पर अमूर्त रूप में. इससे ये काम किए जा सकते हैं:
कम ऊर्जा का इस्तेमाल करने के लिए, VoiceInteractionService
को आवाज़ के नमूने से जोड़ें
आवाज़ पहचानने की सुविधा. यह सबसे सामान्य और जाना-पहचाना इंटरैक्शन फ़्लो है, जिसमें उपयोगकर्ता
नई बातचीत शुरू करने के लिए, Voice ऐप्लिकेशन (VA) से इंटरैक्ट करने के अनुरोध. ऑडियो मैसेज
इस तरह से शुरू किए गए सेशन की पहचान, SHOW_SOURCE_ASSIST_GESTURE flag
से की जाती है.
दूसरा डायग्राम. हॉटवर्ड ट्रिगर करना
लेजेंड. सिस्टम की सेवाएं हल्के नीले रंग में और VIA कॉम्पोनेंट हरे रंग में दिखती हैं.
पीटीटी ट्रिगर करना
यह बात, हार्डवेयर बटन को लंबे या कम समय तक दबाकर रखने पर लागू होती है. AAOS में, पीटीटी को यह मैनेज करता है CarइनपुटService. डिफ़ॉल्ट रूप से लागू होने पर, यह सेवा वाहन के एचएएल के ज़रिए मिले इनपुट इवेंट और खास तौर पर आवाज़ के मामले में इंटरैक्शन के लिए, यह मुख्य इवेंट पर इस लॉजिक को लागू करता है:
- छोटे पीटीटी इवेंट (
KeyEvent.KEYCODE_VOICE_ASSIST
) इस पर भेजे जाते हैं नया वॉइस सेशन शुरू करने के लिएVoiceInteractionManagerService
. - लंबे पीटीटी इवेंट, पहले प्रोजेक्शन रिसीवर (जैसे, Android Auto) को दिए जाते हैं या CarPlay), फिर ब्लूटूथ से कनेक्ट किए गए डिवाइसों पर है.
इस फ़्लो का इस्तेमाल करके शुरू किए गए सेशन की पहचान, SHOW_SOURCE_PUSH_TO_TALK
से की जाती है.
तीसरी इमेज. पीटीटी ट्रिगर करना
AAOS में, हार्डवेयर की आवाज़ को कंट्रोल करने वाले बटन को इंटिग्रेट करने के लिए, Automotive Key Input इंटिग्रेशन देखें.
टैप-टू-टॉक ट्रिगर करना (या सॉफ़्टवेयर बटन)
सिस्टम यूज़र इंटरफ़ेस (यूआई) से वॉइस इंटरैक्शन को ट्रिगर करने के लिए AssistUtil का इस्तेमाल किया जाता है. यह एक छिपा हुआ सिस्टम एपीआई है, जिसका इस्तेमाल सिर्फ़ वे कर सकते हैं: बंडल किए गए सिस्टम ऐप्लिकेशन, जैसे कि सिस्टम यूज़र इंटरफ़ेस (यूआई), जिसकी मदद से ये सुविधाएं चालू की जा सकती हैं:
- आवाज़ से कंट्रोल करने के सेशन शुरू करने के लिए,
VoiceInteractionManagerService
से इंटरैक्ट किया जा रहा है. - यह पता लगाएं कि वर्तमान में कौनसा VIA चुना गया है.
चुने गए VIA ऐप्लिकेशन को डाइनैमिक तरीके से प्रज़ेंट करने के लिए, सिस्टम यूज़र इंटरफ़ेस (यूआई) इनका इस्तेमाल कर सकता है
RoleManager
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
और ROLE_ASSISTANT
के लिए भूमिका धारक के बदलावों को फ़ॉलो करें.
टीटीटी ट्रिगर लागू करने के तरीके का उदाहरण CarSystemUI, AssistantButton
में देखा जा सकता है.
चौथी इमेज. टैप-टू-टॉक ट्रिगर करना
वॉयस असिस्टेंट, टैप-टू-रीड (टीटीआर)
Automotive में, सूचना केंद्र पर पोस्ट की गई ऐसी सूचनाएं जिनकी पहचान इस तौर पर की गई हैINBOX
या INBOX_IN_GROUP
सूचनाएं (जैसे, एसएमएस मैसेज)
उसमें Play ऐक्शन बटन शामिल होता है. इस बटन की मदद से, उपयोगकर्ता सूचनाओं को ज़ोर से पढ़कर सुनाता है
चुने हुए VIA तक और विकल्प के तौर पर बोलकर जवाब देने के लिए.
पांचवी इमेज. सूचनाएं
इस फ़्लो को लागू करने के तरीके के बारे में ज़्यादा जानने के लिए, यह देखें हैंडल मैसेज सेवा के निर्देश शामिल करें.
कार लॉन्चर से VIA लॉन्च करें
किसी भी अन्य ऐप्लिकेशन की तरह, वीआईए मेनिफ़ेस्ट फ़ाइल फ़ॉर्मैट में. यह ऐप्लिकेशन डेवलपर पर निर्भर करता है कि OEM इस ऐप्लिकेशन को पहले से इंस्टॉल करके यह तय किया जा सकता है कि ये गतिविधियां क्या होंगी.
अहम जानकारी. ऑटोमोटिव में, सभी गतिविधियों के साथ-साथ सिस्टम
गतिविधियां, गाड़ी चलाते समय उपयोगकर्ता अनुभव से जुड़ी पाबंदियों के हिसाब से होनी चाहिए. अगर आपको किसी भी विषय पर
लॉन्चर आइकन से सक्षम करने के लिए गाड़ी चलाते समय उपलब्ध होना चाहिए, या तो इसे
अगर आप OEM हैं, तो अनुमति दें या distractionOptimized
की गतिविधि के बारे में बताएं
मेटाडेटा. ज़्यादा जानकारी के लिए, यह देखें
ड्राइवर का ध्यान भटकने से रोकने के लिए बने दिशा-निर्देश.
डीएसपी और ऑडियो एचएएल
एक साथ हमेशा चालू रहने वाले ऑडियो से जुड़े अपडेट किए गए दिशा-निर्देशों को पढ़ना न भूलें रिकॉर्डिंग और ऑडियो एचएएल को एक साथ कैप्चर करने की सुविधा पर सेट करें. इन एपीआई को ऐक्सेस करने से, हॉटवर्ड की परफ़ॉर्मेंस पर काफ़ी असर पड़ सकता है की जांच करने का तरीका जानें. इसके बारे में यहां बताया गया है इसका जवाब दिया जा रहा है हॉटवर्ड हैं.
अनुमतियां
सिस्टम के खास अधिकार वाली अनुमतियां दें
हालांकि, अगर वीआईए को इनमें से किसी एक की ज़रूरत होती है, तो उपयोगकर्ता को खास अधिकार नहीं दिए जा सकते कोई गड़बड़ी है, तो OEM को अपने सिस्टम इमेज में APK को पहले से लोड करना होगा और ये अनुमतियां देनी होंगी साफ़ तौर पर बताया गया है. यहां जाएं: अनुरोध करें अनुमतियां हैं.
ऐसा करने के लिए, अपने प्रोजेक्ट में खास अधिकारों वाली अनुमति वाली सूची जोड़ें:
Android.bp
android_app { ... required: ["privapp_allowlist_com.example.myvoicecontrol"], ... }
सिस्टम के खास अधिकारों की अनुमति वाली फ़ाइल को yourdata/etc/car
में जोड़ें
फ़ोल्डर:
vendor/…/data/etc/car/Android.bp
prebuilt_etc { name:privapp_allowlist_com.example.myvoicecontrol", sub_dir: "permissions", src: "com.example.myvoicecontrol.xml", filename_from_src: true, }
vendor/…/data/etc/car/com.example.myvoicecontrol.xml
<?xml version="1.0" encoding="utf-8"?> <permissions> <privapp-permissions package="com.android.car.voicecontrol"> <permission name="android.permission.MEDIA_CONTENT_CONTROL"/> </privapp-permissions> </permissions>
पहले से दी गई खतरनाक अनुमतियां
जैसा कि यहां बताया गया है
अनुरोध करें
अनुमतियां हैं, तो कुछ सुविधाओं को ऐक्सेस करने के लिए VIA उपयोगकर्ता की सहमति ज़रूरी है. इनमें से कुछ
अनुमतियां डिफ़ॉल्ट VoiceInteractionService
पर पहले से दी जाती हैं (देखें
DefaultPermissionGrantPolicy.java
).
डिफ़ॉल्ट हैंडलर की अनुमतियों के बारे में ज़्यादा जानकारी के लिए, यहां देखें
अनुमतियां
का इस्तेमाल सिर्फ़ डिफ़ॉल्ट हैंडलर में किया जाता है. default-permissions.xml
का इस्तेमाल करके, पहले से अनुमतियां दी जा सकती हैं
कॉन्फ़िगरेशन फ़ाइल है. जानकारी के लिए
पहले से अनुमतियां देने से जुड़ी पाबंदियां देखने के लिए, Android में दिए गए सेक्शन 9 को देखें
कम्पैटिबिलिटी डेफ़िनिशन दस्तावेज़ (सीडीडी).
अहम जानकारी. सभी मामलों में, सिर्फ़ डिफ़ॉल्ट वीआईए के तहत ये अनुमतियां पहले से दी जा चुकी हैं. अगर सिस्टम में एक से ज़्यादा VIA पहले से लोड किए गए हैं, जो VIA डिफ़ॉल्ट स्थिति में नहीं है उसे साफ़ तौर पर, उपयोगकर्ताओं से सेट अप हो जाता है या पहली बार इस्तेमाल करते समय हो सकता है.
डिस्ट्रिब्यूशन (पहले से इंस्टॉल करना और अपडेट डिप्लॉय करना)
पहले से इंस्टॉल किए गए वीआईए /product/priv-apps
या इससे कम उम्र के होने चाहिए
/vendor/priv-apps
पार्टीशन और फ़ोल्डर (सेगमेंट के बारे में ज़्यादा जानने के लिए, सेगमेंट की खास जानकारी और
प्रॉडक्ट बनाएं
विभाजन).
दूसरे मामले में, वेंडर विभाजन को अलग-अलग अपडेट किया जा सकता है. सिस्टम से, यहां होस्ट किए गए ऐप्लिकेशन @hide सिस्टम API को ऐक्सेस नहीं कर पाएंगे. पहले से इंस्टॉल किए गए ऐप्लिकेशन की जगह के हिसाब से, ऐप्लिकेशन को अपडेट किया जा सकता है ओटीए के तौर पर (ओटीए अपडेट देखें) या ऐप्लिकेशन के ज़रिए ऐप स्टोर से मिले अपडेट.
पसंद के मुताबिक बनाएं
जैसा कि इसमें बताया गया है ऑटोमोटिव से जुड़े खास कॉन्सेप्ट, Automotive के लिए, किसी अन्य डिवाइस के नाप या आकार की तुलना में, यूज़र इंटरफ़ेस (यूआई)/उपयोगकर्ता अनुभव को एक जैसा रखना और उसे पसंद के मुताबिक बनाना ज़्यादा ज़रूरी है. ज़्यादा से ज़्यादा इंटरऑपरेबिलिटी के लिए, AAOS का इस्तेमाल करना कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी का सुझाव दिया जाता है. इस लाइब्रेरी में कॉम्पोनेंट और संसाधन शामिल हैं, जिन्हें ऑटोमोटिव वाहनों से जोड़ा जा सकता है OEM की पसंद के मुताबिक डिज़ाइन किए गए ऐप्लिकेशन. इस तरह से, एक APK को इसके यूज़र इंटरफ़ेस (यूआई) को कार के हर मॉडल के डिज़ाइन के हिसाब से बनाया जा सकता है.