একটি সাধারণ ইন্সট্রুমেন্ট ক্লাস্টার ড্রাইভিং, কল এবং মিডিয়া তথ্য আপডেট করে যখনই নতুন ডেটা আসে৷ Android একটি OEM-এর উপকরণ ক্লাস্টারকে সহজেই আপ-টু-ডেট স্থিতি পেতে সক্ষম করতে নিম্নলিখিত API প্রদান করে৷
ড্রাইভিং অবস্থা
নেভিগেশন চলমান থাকাকালীন ড্রাইভিং দিকনির্দেশ ইভেন্ট পাঠানো হয়। ফাইল packages/services/Car/car-lib/src/android/car/cluster/renderer/NavigationRenderer.java
এ ইনস্ট্রুমেন্ট ক্লাস্টারে একটি নেভিগেশন অ্যাপ রেন্ডারারের বিমূর্ত পদ্ধতি রয়েছে।
একটি বর্ধিত InstrumentClusterRenderingService
এ, এই পদ্ধতিগুলি নিম্নরূপ:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected NavigationRenderer getNavigationRenderer() { return new NavigationRenderer() { @Override CarNavigationInstrumentCluster getNavigationProperties() {...} @Override void onStartNavigation() {...} @Override void onStopNavigation() {...} @Override void onNextTurnChanged(int event, String road, int turnAngle, int turnNumber, Bitmap image, int turnSide) {...} @Override void onNextTurnDistanceChanged(int distanceMeters, int timeSeconds) {...} }; } }
আপনি পছন্দসই তথ্য প্রদর্শন করতে এই পদ্ধতিতে কাস্টম অ্যাকশন (যেমন রেন্ডারিং) যোগ করতে পারেন।
কল স্ট্যাটাস
কল স্থিতি নিরীক্ষণ করতে, নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:
-
android.telecom.InCallService
প্রসারিত করুন।public class ClusterInCallService extends InCallService { ...
AndroidManifest.xml
এ পরিষেবাটি নিবন্ধন করুন৷<service android:name="com.android.car.cluster.sample.ClusterInCallService" android:permission="android.permission.BIND_INCALL_SERVICE" android:exported="false">
- ওভাররাইড onCallAdded এবং onCallRemoved.
public void onCallAdded(Call call) { ... call.registerCallback(mPhoneCallback); mPhoneCallback.onStateChanged(call, call.getState()); } public void onCallRemoved(Call call) { ... call.unregisterCallback(mPhoneCallback); }
- কল স্ট্যাটাস পরিবর্তন ইভেন্টগুলি গ্রহণ করতে কলব্যাক নিবন্ধন করুন (
Call#registerCallback
)।private static class PhoneCallback extends Callback { ... public void onStateChanged(Call call, int state) {...} }
- যোগাযোগের তথ্য টানতে সামগ্রী প্রদানকারী ব্যবহার করুন:
ContactsContract.PhoneLookup, ContactsContract.Contacts#openContactPhotoInputStream
)।
কল স্ট্যাটাস মনিটরের নমুনা কোডের জন্য, দেখুন:
packages/services/Car/tests/InstrumentClusterRendererSample/src/com/android/car/cluster/sample/ClusterInCallService.java
বিষয়বস্তু প্রদানকারী নমুনা কোডের জন্য, দেখুন:
packages/services/Car/tests/InstrumentClusterRendererSample/src/com/android/car/cluster/sample/TelecomUtils.java
মিডিয়া স্ট্যাটাস
মিডিয়ামেটাডেটা (যেমন অ্যালবাম বা গানের শিরোনাম বা কভার ইমেজ) বা প্লেব্যাক স্টেট (বাফারিং, পজ, প্লে এবং স্টপ) এর পরিবর্তন সম্পর্কিত ইভেন্টগুলি পাওয়ার সময় আপনি মিডিয়া স্ট্যাটাস আপডেট করার জন্য সিস্টেমটিকে কনফিগার করতে পারেন। মিডিয়া স্ট্যাটাস আপডেট করতে:
-
MediaSessionManager
ব্যবহার করুন এবং প্রাথমিক নিয়ামক পান (#getActiveSessions(null)[0]
)। - কলব্যাক নিবন্ধন করুন (
MediaController#Callback
)। - সক্রিয় অধিবেশনে সাবস্ক্রাইব করুন পরিবর্তিত
MediaSessionManager#addOnActiveSessionsChangedListener(...)
।
বিস্তারিত জানার জন্য, দেখুন: