একটি AppCard হোস্ট কনফিগার করুন

AppCards দেখায় এমন অ্যাপগুলির সাথে যোগাযোগ করতে AppCardHost ব্যবহার করুন।

অনুমতি

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 হিসাবে নিবন্ধন করুন

বা,

অ্যাপকার্ড লিসনার

AppCardListener উপাদানটি AppCardHost এবং AppCard অ্যাপ থেকে যোগাযোগের আপডেট পেতে একটি AppCardHost এর সাথে নিজেকে নিবন্ধন করে। একটি AppCardListener এর ইন্টারফেস ফাংশন এখানে বিস্তারিত আছে।

fun onAppCardReceived(AppCardContainer)

একটি অ্যাপ থেকে একটি AppCard গৃহীত হলে এই ফাংশনটি ট্রিগার হয়। এটি একটি AppCardContainer হিসাবে পাঠানো হয় যা একটি AppCard এবং একটি appIdentifier প্রদান করে যেটি AppCard পাঠিয়েছে সেই অ্যাপটিকে সনাক্ত করতে

fun onComponentReceived(AppCardComponentContainer)

এই ফাংশনটি ট্রিগার হয় যখন একটি AppCard উপাদান একটি অ্যাপ থেকে প্রাপ্ত হয়। এটি একটি AppCardComponentContainer হিসাবে পাঠানো হয়, যা একটি AppCards উপাদান প্রদান করে, যে অ্যাপটি AppCard পাঠিয়েছে সেটি সনাক্ত করতে Identifier এবং AppCard যেটির সাথে উপাদানটি সম্পর্কিত তা নির্দেশ করার জন্য একটি স্ট্রিং আইডি প্রদান করে৷

fun onProviderRemoved(String, String?)

একটি AppCard প্রদানকারী সরানো বা অক্ষম করা হলে এই ফাংশনটি ট্রিগার হয়। প্রদত্ত প্যাকেজের নাম এবং প্রদানকারী কর্তৃপক্ষের সাথে সম্পর্কিত যেকোনো সক্রিয় AppCard পরিষ্কার করতে এই পদ্ধতিটি ব্যবহার করুন।

যদি কর্তৃপক্ষ {@code null} হয়, তাহলে একটি সম্পূর্ণ প্যাকেজ সরানো হয়েছে৷

fun onProviderAdded(String, String?)

যখন একটি AppCard প্রদানকারী যোগ করা বা সক্ষম করা হয় তখন এই ফাংশনটি ট্রিগার হয়৷

নমুনা ব্যবহার। একটি 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)

একটি নির্দিষ্ট AppCard সহ একটি নিবন্ধিত AppCardListener সরবরাহ করার জন্য এই পদ্ধতিতে কল করুন, একটি AppCardContext দেওয়া হয়েছে যা প্রদানকারীদের তাদের AppCard কীভাবে গঠন করতে হবে তার ইঙ্গিত দেয়।

fun notifyAppCardRemoved(appIdentifier, String)

একটি AppCard প্রদানকারীকে জানান যে তার AppCard আর সক্রিয় নেই৷

fun notifyAppCardInteraction(appIdentifier, String, String, String)

একটি AppCard প্রদানকারীকে অবহিত করুন যে তার AppCard এর সাথে ইন্টারঅ্যাক্ট করা হয়েছে। শুধুমাত্র সমর্থিত ইন্টারঅ্যাকশন হল একটি বোতাম ক্লিক, যা একটি AppCardMessageConstants.InteractionMessageConstants.MSG_INTERACTION_ON_CLICK দ্বারা চিহ্নিত করা হয়।

আমরা একটি onClick শ্রোতা সহ একটি AppCard-এর জন্য একটি বোতাম তৈরি করার পরামর্শ দিই যা এই ফাংশনটিকে appIdentifier , AppCard আইডি, কম্পোনেন্ট আইডি এবং ইন্টারঅ্যাকশন আইডি দিয়ে কল করে৷

fun sendAppCardContextUpdate(AppCardContext, appIdentifier, String)

একটি নির্দিষ্ট AppCard এর জন্য একটি AppCardContext আপডেট পাঠান। উদাহরণস্বরূপ, পার্ক মোড থেকে ড্রাইভ মোডে স্থানান্তর করার সময়, একটি AppCardContext আপডেট পাঠাতে এই পদ্ধতিটি ব্যবহার করুন যেখানে প্রতিটি সক্রিয় AppCard-এর জন্য isInteractable false সেট করা আছে।

FAQ

  1. আমি নমুনা বাস্তবায়ন কোথায় পেতে পারি?

    • নমুনা হোস্ট । পরীক্ষার ক্ষমতা সহ সিস্টেমে উপলব্ধ সমস্ত অ্যাপকার্ড দেখায়।

    • ড্রাইভারইউআই এবং প্যানো ম্যানেজার । প্যানো ম্যানেজার বাছাইকারী হিসাবে কাজ করে যখন DriverUI উপস্থাপক হিসাবে কাজ করে।

  2. প্রতিটি AppCardContentProvider কতগুলি AppCard সমর্থন করতে পারে?

    একটি AppCardContentProvider অসীম সংখ্যক AppCard সমর্থন করতে পারে। যাইহোক, একটি ইতিবাচক ব্যবহারকারীর অভিজ্ঞতা বনাম অবনমিত কর্মক্ষমতা সহ AppCard সংখ্যার ভারসাম্য নিশ্চিত করুন৷