ऐप्लिकेशन कार्ड दिखाने वाले ऐप्लिकेशन से बातचीत करने के लिए, AppCardHost
का इस्तेमाल करें.
अनुमतियां
AppCardHost
का इस्तेमाल करने वाले किसी भी ऐप्लिकेशन के पास ये अनुमतियां होनी चाहिए:
android.permission.INTERACT_ACROSS_USERS_FULL
android.permission.QUERY_ALL_PACKAGES
- (सिर्फ़ एपीआई लेवल 34 और उसके बाद के वर्शन में)
android.car.permission.BIND_APP_CARD_PROVIDER
शुरू करें
होस्ट को शुरू करने के लिए, यह जानकारी दें:
- संदर्भ
updateRate
AppCard के अपडेट होने की दर, मिलीसेकंड में.fastUpdateRate
EnforceFastUpdateRate
से टैग किए गए कॉम्पोनेंट के लिए, अपडेट रेट को मिलीसेकंड में दिखानाresponseExecutor
वह थ्रेड जिस पर आपको AppCard ऐप्लिकेशन से जवाब चाहिए.
डिज़ाइन
AppCardHost
के साथ इनमें से किसी एक तरीके से इंटरैक्ट किया जा सकता है:
AppCardListener
के तौर पर रजिस्टर करना
या
AppCardHost
एपीआई के साथ इंटरैक्ट करना
AppCardListener
AppCardListener
कॉम्पोनेंट, AppCardHost
और AppCard ऐप्लिकेशन से कम्यूनिकेशन से जुड़े अपडेट पाने के लिए, AppCardHost
के साथ रजिस्टर करता है.
AppCardListener
के इंटरफ़ेस फ़ंक्शन के बारे में यहां बताया गया है.
fun onAppCardReceived(AppCardContainer)
AppCardContainer
के तौर पर भेजा जाता है, जो ऐप्लिकेशन कार्ड और appIdentifier
उपलब्ध कराता है. इससे, ऐप्लिकेशन कार्ड भेजने वाले ऐप्लिकेशन की पहचान की जा सकती हैfun onComponentReceived(AppCardComponentContainer)
AppCardComponentContainer
के तौर पर भेजा जाता है. यह ऐप्लिकेशन कार्ड भेजने वाले ऐप्लिकेशन की पहचान करने के लिए, ऐप्लिकेशन कार्ड कॉम्पोनेंट Identifier
उपलब्ध कराता है. साथ ही, उस ऐप्लिकेशन कार्ड पर ले जाने के लिए स्ट्रिंग आईडी भी उपलब्ध कराता है जिससे कॉम्पोनेंट जुड़ा है.fun onProviderRemoved(String, String?)
अगर अनुमति {@code null}
है, तो इसका मतलब है कि पूरा पैकेज हटा दिया गया है.
fun onProviderAdded(String, String?)
इस्तेमाल के उदाहरण. इस फ़ंक्शन को ट्रिगर के तौर पर इस्तेमाल करके, ऐप्लिकेशन कार्ड पिकर में मौजूद सभी ऐप्लिकेशन कार्ड रीफ़्रेश करें. अगर अनुमति {@code null}
है, तो पूरा पैकेज जोड़ा गया है.
fun onPackageCommunicationError(appIdentifier, Throwable)
AppCardHost
को AppCard की सेवा देने वाली कंपनी से संपर्क करने में कोई गड़बड़ी मिलती है.
इस्तेमाल के उदाहरण. इस तरीके का इस्तेमाल करके, उपयोगकर्ता को यह दिखाएं कि चुने गए AppCard में कोई गड़बड़ी हुई है.
API
fun refreshCompatibleapp()
fun destroy()
fun registerListener(AppCardListener)
AppCardListener
को रजिस्टर करने के लिए इस्तेमाल किया जाता है.fun unregisterListener(AppCardListener)
AppCardListener
को अनरजिस्टर करने के लिए इस्तेमाल किया जाता है.fun getAllAppCards(AppCardContext)
AppCardListener
को सिस्टम में दिए गए सभी ऐप्लिकेशन कार्ड के साथ देने के लिए, इस तरीके को कॉल करें. साथ ही, AppCardContext
का इस्तेमाल करके, सेवा देने वाली कंपनियों को अपने ऐप्लिकेशन कार्ड को स्ट्रक्चर करने के तरीके के बारे में अहम जानकारी दें.fun requestAppCard(AppCardContext, appIdentifier, String)
AppCardListener
को किसी खास ऐप्लिकेशन कार्ड की जानकारी देने के लिए, इस तरीके का इस्तेमाल करें. इसके लिए, AppCardContext
का इस्तेमाल करें, जो सेवा देने वाली कंपनियों को अपने ऐप्लिकेशन कार्ड को स्ट्रक्चर करने का तरीका बताता है.fun notifyAppCardRemoved(appIdentifier, String)
fun notifyAppCardInteraction(appIdentifier, String, String, String)
AppCardMessageConstants.InteractionMessageConstants.MSG_INTERACTION_ON_CLICK
से दिखाया जाता है.
onClick
लिसनर का इस्तेमाल करें, जो appIdentifier
, ऐप्लिकेशन कार्ड आईडी, कॉम्पोनेंट आईडी, और इंटरैक्शन आईडी के साथ इस फ़ंक्शन को कॉल करता है.fun sendAppCardContextUpdate(AppCardContext, appIdentifier, String)
AppCardContext
अपडेट भेजें. उदाहरण के लिए, पार्क मोड से ड्राइव मोड पर स्विच करते समय, इस तरीके का इस्तेमाल करके AppCardContext
अपडेट भेजें. इसमें हर ऐक्टिव ऐप्लिकेशन कार्ड के लिए, isInteractable
को false
पर सेट किया गया हो.अक्सर पूछे जाने वाले सवाल
मुझे लागू करने के सैंपल कहां मिल सकते हैं?
होस्ट का सैंपल. यह टैब, सिस्टम में मौजूद सभी ऐप्लिकेशन कार्ड के साथ-साथ, जांच करने की सुविधाओं को दिखाता है.
DriverUI और Pano manager. Pano मैनेजर, पिकर के तौर पर काम करता है, जबकि DriverUI, प्रज़ेंटर के तौर पर काम करता है.
हर
AppCardContentProvider
में कितने ऐप्लिकेशन कार्ड जोड़े जा सकते हैं?AppCardContentProvider
में अनगिनत ऐप्लिकेशन कार्ड इस्तेमाल किए जा सकते हैं. हालांकि, यह पक्का करें कि ऐप्लिकेशन कार्ड की संख्या, उपयोगकर्ता अनुभव को बेहतर बनाने के लिए तय की गई संख्या के हिसाब से हो.