از AppCardHost
برای برقراری ارتباط با برنامه هایی که AppCards را نشان می دهند، استفاده کنید.
مجوزها
هر برنامه ای که از AppCardHost
استفاده می کند باید مجوزهای زیر را داشته باشد:
-
android.permission.INTERACT_ACROSS_USERS_FULL
-
android.permission.QUERY_ALL_PACKAGES
- ( فقط در سطح API 34 و بالاتر)
android.car.permission.BIND_APP_CARD_PROVIDER
مقدار دهی اولیه کنید
برای مقداردهی اولیه میزبان، ارائه کنید:
- زمینه
-
updateRate
نرخ به روز رسانی AppCard در میلی ثانیه. -
fastUpdateRate
نرخ به روز رسانی در میلی ثانیه برای اجزای برچسب گذاری شده باEnforceFastUpdateRate
-
responseExecutor
رشته ای که می خواهید از برنامه های AppCard پاسخ دریافت کنید.
طراحی
با AppCardHost
می توان به یکی از دو روش تعامل کرد:
- به عنوان
AppCardListener
ثبت نام کنید
یا،
- با API های
AppCardHost
تعامل داشته باشید
AppCardListener
جزء AppCardListener
خود را با AppCardHost
ثبت میکند تا بهروزرسانیهای ارتباطی را از برنامههای AppCardHost
و AppCard دریافت کند. توابع رابط AppCardListener
در اینجا به تفصیل آمده است.
fun onAppCardReceived(AppCardContainer)
AppCardContainer
ارسال می شود که یک AppCard و یک appIdentifier
برای شناسایی برنامه ارسال کننده AppCard ارائه می دهد.fun onComponentReceived(AppCardComponentContainer)
AppCardComponentContainer
ارسال میشود که یک جزء AppCards، Identifier
برای شناسایی برنامهای که AppCard را ارسال کرده است، و یک شناسه رشته برای اشاره به AppCard که مؤلفه به آن مرتبط است، ارسال میشود.fun onProviderRemoved(String, String?)
اگر مرجع {@code null}
باشد، کل بسته حذف شد.
fun onProviderAdded(String, String?)
استفاده از نمونه از این عملکرد به عنوان یک ماشه برای بازخوانی همه AppCard های موجود در انتخابگر AppCard استفاده کنید. اگر اعتبار {@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
ثبت شده را با تمام AppCard های ارائه شده در سیستم با یک AppCardContext
داده شده ارائه کنید که نکاتی را در مورد نحوه ساختار AppCard خود به ارائه دهندگان ارائه می دهد.fun requestAppCard(AppCardContext, appIdentifier, String)
AppCardListener
ثبت شده را با یک AppCard خاص تهیه کنید، با توجه به AppCardContext
که به ارائهدهندگان راهنمایی میکند که چگونه AppCard خود را ساختار دهند.fun notifyAppCardRemoved(appIdentifier, String)
fun notifyAppCardInteraction(appIdentifier, String, String, String)
AppCardMessageConstants.InteractionMessageConstants.MSG_INTERACTION_ON_CLICK
مشخص می شود.onClick
ایجاد کنید که این عملکرد را با appIdentifier
، AppCard ID، شناسه مؤلفه و شناسه تعامل فراخوانی میکند.fun sendAppCardContextUpdate(AppCardContext, appIdentifier, String)
AppCardContext
برای یک AppCard خاص ارسال کنید. به عنوان مثال، هنگام جابجایی از حالت پارک به حالت Drive، از این روش برای ارسال بهروزرسانی AppCardContext
استفاده کنید که در آن isInteractable
برای هر AppCard فعال روی false
تنظیم شده است.سوالات متداول
از کجا می توانم نمونه پیاده سازی ها را پیدا کنم؟
میزبان نمونه . تمام AppCard های موجود در سیستم را به همراه قابلیت های تست نمایش می دهد.
DriverUI و Pano manager . مدیر Pano به عنوان انتخاب کننده عمل می کند در حالی که DriverUI به عنوان ارائه کننده عمل می کند.
هر
AppCardContentProvider
می تواند چند AppCard را پشتیبانی کند؟AppCardContentProvider
می تواند تعداد بی نهایت AppCard را پشتیبانی کند. با این حال، مطمئن شوید که تعداد AppCard ها را با عملکرد ضعیف در مقابل تجربه کاربری مثبت متعادل کنید.
از AppCardHost
برای برقراری ارتباط با برنامه هایی که AppCards را نشان می دهند، استفاده کنید.
مجوزها
هر برنامه ای که از AppCardHost
استفاده می کند باید مجوزهای زیر را داشته باشد:
-
android.permission.INTERACT_ACROSS_USERS_FULL
-
android.permission.QUERY_ALL_PACKAGES
- ( فقط در سطح API 34 و بالاتر)
android.car.permission.BIND_APP_CARD_PROVIDER
مقدار دهی اولیه کنید
برای مقداردهی اولیه میزبان، ارائه کنید:
- زمینه
-
updateRate
نرخ به روز رسانی AppCard در میلی ثانیه. -
fastUpdateRate
نرخ به روز رسانی در میلی ثانیه برای اجزای برچسب گذاری شده باEnforceFastUpdateRate
-
responseExecutor
رشته ای که می خواهید از برنامه های AppCard پاسخ دریافت کنید.
طراحی
با AppCardHost
می توان به یکی از دو روش تعامل کرد:
- به عنوان
AppCardListener
ثبت نام کنید
یا،
- با API های
AppCardHost
تعامل داشته باشید
AppCardListener
جزء AppCardListener
خود را با AppCardHost
ثبت میکند تا بهروزرسانیهای ارتباطی را از برنامههای AppCardHost
و AppCard دریافت کند. توابع رابط AppCardListener
در اینجا به تفصیل آمده است.
fun onAppCardReceived(AppCardContainer)
AppCardContainer
ارسال می شود که یک AppCard و یک appIdentifier
برای شناسایی برنامه ارسال کننده AppCard ارائه می دهد.fun onComponentReceived(AppCardComponentContainer)
AppCardComponentContainer
ارسال میشود که یک جزء AppCards، Identifier
برای شناسایی برنامهای که AppCard را ارسال کرده است، و یک شناسه رشته برای اشاره به AppCard که مؤلفه به آن مرتبط است، ارسال میشود.fun onProviderRemoved(String, String?)
اگر مرجع {@code null}
باشد، کل بسته حذف شد.
fun onProviderAdded(String, String?)
استفاده از نمونه از این عملکرد به عنوان یک ماشه برای بازخوانی همه AppCard های موجود در انتخابگر AppCard استفاده کنید. اگر اعتبار {@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
ثبت شده را با تمام AppCard های ارائه شده در سیستم با یک AppCardContext
داده شده ارائه کنید که نکاتی را در مورد نحوه ساختار AppCard خود به ارائه دهندگان ارائه می دهد.fun requestAppCard(AppCardContext, appIdentifier, String)
AppCardListener
ثبت شده را با یک AppCard خاص تهیه کنید، با توجه به AppCardContext
که به ارائهدهندگان راهنمایی میکند که چگونه AppCard خود را ساختار دهند.fun notifyAppCardRemoved(appIdentifier, String)
fun notifyAppCardInteraction(appIdentifier, String, String, String)
AppCardMessageConstants.InteractionMessageConstants.MSG_INTERACTION_ON_CLICK
مشخص می شود.onClick
ایجاد کنید که این عملکرد را با appIdentifier
، AppCard ID، شناسه مؤلفه و شناسه تعامل فراخوانی میکند.fun sendAppCardContextUpdate(AppCardContext, appIdentifier, String)
AppCardContext
برای یک AppCard خاص ارسال کنید. به عنوان مثال، هنگام جابجایی از حالت پارک به حالت Drive، از این روش برای ارسال بهروزرسانی AppCardContext
استفاده کنید که در آن isInteractable
برای هر AppCard فعال روی false
تنظیم شده است.سوالات متداول
از کجا می توانم نمونه پیاده سازی ها را پیدا کنم؟
میزبان نمونه . تمام AppCard های موجود در سیستم را به همراه قابلیت های تست نمایش می دهد.
DriverUI و Pano manager . مدیر Pano به عنوان انتخاب کننده عمل می کند در حالی که DriverUI به عنوان ارائه کننده عمل می کند.
هر
AppCardContentProvider
می تواند چند AppCard را پشتیبانی کند؟AppCardContentProvider
می تواند تعداد بی نهایت AppCard را پشتیبانی کند. با این حال، مطمئن شوید که تعداد AppCard ها را با عملکرد ضعیف در مقابل تجربه کاربری مثبت متعادل کنید.
از AppCardHost
برای برقراری ارتباط با برنامه هایی که AppCards را نشان می دهند، استفاده کنید.
مجوزها
هر برنامه ای که از AppCardHost
استفاده می کند باید مجوزهای زیر را داشته باشد:
-
android.permission.INTERACT_ACROSS_USERS_FULL
-
android.permission.QUERY_ALL_PACKAGES
- ( فقط در سطح API 34 و بالاتر)
android.car.permission.BIND_APP_CARD_PROVIDER
مقدار دهی اولیه کنید
برای مقداردهی اولیه میزبان، ارائه کنید:
- زمینه
-
updateRate
نرخ به روز رسانی AppCard در میلی ثانیه. -
fastUpdateRate
نرخ به روز رسانی در میلی ثانیه برای اجزای برچسب گذاری شده باEnforceFastUpdateRate
-
responseExecutor
رشته ای که می خواهید از برنامه های AppCard پاسخ دریافت کنید.
طراحی
با AppCardHost
می توان به یکی از دو روش تعامل کرد:
- به عنوان
AppCardListener
ثبت نام کنید
یا،
- با API های
AppCardHost
تعامل داشته باشید
AppCardListener
جزء AppCardListener
خود را با AppCardHost
ثبت میکند تا بهروزرسانیهای ارتباطی را از برنامههای AppCardHost
و AppCard دریافت کند. توابع رابط AppCardListener
در اینجا به تفصیل آمده است.
fun onAppCardReceived(AppCardContainer)
AppCardContainer
ارسال می شود که یک AppCard و یک appIdentifier
برای شناسایی برنامه ارسال کننده AppCard ارائه می دهد.fun onComponentReceived(AppCardComponentContainer)
AppCardComponentContainer
ارسال میشود که یک جزء AppCards، Identifier
برای شناسایی برنامهای که AppCard را ارسال کرده است، و یک شناسه رشته برای اشاره به AppCard که مؤلفه به آن مرتبط است، ارسال میشود.fun onProviderRemoved(String, String?)
اگر مرجع {@code null}
باشد، کل بسته حذف شد.
fun onProviderAdded(String, String?)
استفاده از نمونه از این عملکرد به عنوان یک ماشه برای بازخوانی همه AppCard های موجود در انتخابگر AppCard استفاده کنید. اگر اعتبار {@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
ثبت شده را با تمام AppCard های ارائه شده در سیستم با یک AppCardContext
داده شده ارائه کنید که نکاتی را در مورد نحوه ساختار AppCard خود به ارائه دهندگان ارائه می دهد.fun requestAppCard(AppCardContext, appIdentifier, String)
AppCardListener
ثبت شده را با یک AppCard خاص تهیه کنید، با توجه به AppCardContext
که به ارائهدهندگان راهنمایی میکند که چگونه AppCard خود را ساختار دهند.fun notifyAppCardRemoved(appIdentifier, String)
fun notifyAppCardInteraction(appIdentifier, String, String, String)
AppCardMessageConstants.InteractionMessageConstants.MSG_INTERACTION_ON_CLICK
مشخص می شود.onClick
ایجاد کنید که این عملکرد را با appIdentifier
، AppCard ID، شناسه مؤلفه و شناسه تعامل فراخوانی میکند.fun sendAppCardContextUpdate(AppCardContext, appIdentifier, String)
AppCardContext
برای یک AppCard خاص ارسال کنید. به عنوان مثال، هنگام جابجایی از حالت پارک به حالت Drive، از این روش برای ارسال بهروزرسانی AppCardContext
استفاده کنید که در آن isInteractable
برای هر AppCard فعال روی false
تنظیم شده است.سوالات متداول
از کجا می توانم نمونه پیاده سازی ها را پیدا کنم؟
میزبان نمونه . تمام AppCard های موجود در سیستم را به همراه قابلیت های تست نمایش می دهد.
DriverUI و Pano manager . مدیر Pano به عنوان انتخاب کننده عمل می کند در حالی که DriverUI به عنوان ارائه کننده عمل می کند.
هر
AppCardContentProvider
می تواند چند AppCard را پشتیبانی کند؟AppCardContentProvider
می تواند تعداد بی نهایت AppCard را پشتیبانی کند. با این حال، مطمئن شوید که تعداد AppCard ها را با عملکرد ضعیف در مقابل تجربه کاربری مثبت متعادل کنید.