AppCards দেখায় এমন অ্যাপগুলির সাথে যোগাযোগ করতে AppCardHost ব্যবহার করুন।
অনুমতি
AppCardHost ব্যবহার করে এমন যেকোনো অ্যাপের নিম্নলিখিত অনুমতি থাকতে হবে:
-
android.permission.INTERACT_ACROSS_USERS_FULL -
android.permission.QUERY_ALL_PACKAGES - ( শুধুমাত্র API স্তর 34 এবং উচ্চতর)
android.car.permission.BIND_APP_CARD_PROVIDER
আরম্ভ করুন
হোস্ট শুরু করতে, প্রদান করুন:
- প্রসঙ্গ
-
updateRateAppCard আপডেট রেট মিলিসেকেন্ডে। -
fastUpdateRateEnforceFastUpdateRateসাথে ট্যাগ করা উপাদানগুলির জন্য মিলিসেকেন্ডে আপডেটের হার -
responseExecutorএকটি থ্রেড যার উপর আপনি AppCard অ্যাপ থেকে প্রতিক্রিয়া পেতে চান।
ডিজাইন
একটি AppCardHost এর সাথে দুটি উপায়ের একটিতে যোগাযোগ করা যেতে পারে:
- একটি
AppCardListenerহিসাবে নিবন্ধন করুন
বা,
-
AppCardHostAPI-এর সাথে ইন্টারঅ্যাক্ট করুন
অ্যাপকার্ড লিসনার
AppCardListener উপাদানটি AppCardHost এবং AppCard অ্যাপ থেকে যোগাযোগের আপডেট পেতে একটি AppCardHost এর সাথে নিজেকে নিবন্ধন করে। একটি AppCardListener এর ইন্টারফেস ফাংশন এখানে বিস্তারিত আছে।
fun onAppCardReceived(AppCardContainer)AppCardContainer হিসাবে পাঠানো হয় যা একটি AppCard এবং একটি appIdentifier প্রদান করে যেটি AppCard পাঠিয়েছে সেই অ্যাপটিকে সনাক্ত করতেfun onComponentReceived(AppCardComponentContainer)AppCardComponentContainer হিসাবে পাঠানো হয়, যা একটি AppCards উপাদান প্রদান করে, যে অ্যাপটি AppCard পাঠিয়েছে সেটি সনাক্ত করতে Identifier এবং AppCard যেটির সাথে উপাদানটি সম্পর্কিত তা নির্দেশ করার জন্য একটি স্ট্রিং আইডি প্রদান করে৷fun onProviderRemoved(String, String?) যদি কর্তৃপক্ষ {@code null} হয়, তাহলে একটি সম্পূর্ণ প্যাকেজ সরানো হয়েছে৷
fun onProviderAdded(String, String?) নমুনা ব্যবহার। একটি AppCard পিকারে উপলব্ধ সমস্ত AppCard রিফ্রেশ করতে একটি ট্রিগার হিসাবে এই ফাংশনটি ব্যবহার করুন৷ যদি কর্তৃপক্ষ {@code null} হয়, তাহলে একটি সম্পূর্ণ প্যাকেজ যোগ করা হয়েছে৷
fun onPackageCommunicationError(appIdentifier, Throwable)AppCardHost একটি ত্রুটির সম্মুখীন হলে এই ফাংশনটি ট্রিগার হয়৷নমুনা ব্যবহার। ব্যবহারকারীকে দেখানোর জন্য এই পদ্ধতিটি ব্যবহার করুন যে তারা নির্বাচিত একটি AppCard একটি ত্রুটির সম্মুখীন হয়েছে৷
এপিআই
fun refreshCompatibleapp()fun destroy()fun registerListener(AppCardListener)AppCardListener রেজিস্টার করতে ব্যবহৃত হয়।fun unregisterListener(AppCardListener)AppCardListener নিবন্ধনমুক্ত করতে ব্যবহৃত হয়।fun getAllAppCards(AppCardContext)AppCardContext সহ সিস্টেমে প্রদত্ত সমস্ত AppCards সহ একটি নিবন্ধিত AppCardListener সরবরাহ করতে এই পদ্ধতিতে কল করুন যা প্রদানকারীদের তাদের AppCard গঠনের বিষয়ে ইঙ্গিত দেয়৷fun requestAppCard(AppCardContext, appIdentifier, String)AppCardListener সরবরাহ করার জন্য এই পদ্ধতিতে কল করুন, একটি AppCardContext দেওয়া হয়েছে যা প্রদানকারীদের তাদের AppCard কীভাবে গঠন করতে হবে তার ইঙ্গিত দেয়।fun notifyAppCardRemoved(appIdentifier, String)fun notifyAppCardInteraction(appIdentifier, String, String, String)AppCardMessageConstants.InteractionMessageConstants.MSG_INTERACTION_ON_CLICK দ্বারা চিহ্নিত করা হয়।onClick শ্রোতা সহ একটি AppCard-এর জন্য একটি বোতাম তৈরি করার পরামর্শ দিই যা এই ফাংশনটিকে appIdentifier , AppCard আইডি, কম্পোনেন্ট আইডি এবং ইন্টারঅ্যাকশন আইডি দিয়ে কল করে৷fun sendAppCardContextUpdate(AppCardContext, appIdentifier, String)AppCardContext আপডেট পাঠান। উদাহরণস্বরূপ, পার্ক মোড থেকে ড্রাইভ মোডে স্থানান্তর করার সময়, একটি AppCardContext আপডেট পাঠাতে এই পদ্ধতিটি ব্যবহার করুন যেখানে প্রতিটি সক্রিয় AppCard-এর জন্য isInteractable false সেট করা আছে।FAQ
আমি নমুনা বাস্তবায়ন কোথায় পেতে পারি?
নমুনা হোস্ট । পরীক্ষার ক্ষমতা সহ সিস্টেমে উপলব্ধ সমস্ত অ্যাপকার্ড দেখায়।
ড্রাইভারইউআই এবং প্যানো ম্যানেজার । প্যানো ম্যানেজার বাছাইকারী হিসাবে কাজ করে যখন DriverUI উপস্থাপক হিসাবে কাজ করে।
প্রতিটি
AppCardContentProviderকতগুলি AppCard সমর্থন করতে পারে?একটি
AppCardContentProviderঅসীম সংখ্যক AppCard সমর্থন করতে পারে। যাইহোক, একটি ইতিবাচক ব্যবহারকারীর অভিজ্ঞতা বনাম অবনমিত কর্মক্ষমতা সহ AppCard সংখ্যার ভারসাম্য নিশ্চিত করুন৷