গাড়ির হার্ডওয়্যার API

Car App API লেভেল ৩ থেকে শুরু করে, আপনি গাড়ির প্রপার্টি ও সেন্সর অ্যাক্সেস করতে Car App Library API ব্যবহার করতে পারবেন।

প্রয়োজনীয়তা

Android Auto-এর সাথে API ব্যবহার করতে, আপনার Android Auto মডিউলের build.gradle ফাইলে androidx.car.app:app-projected-এর উপর নির্ভরতা যোগ করার মাধ্যমে শুরু করুন। Android Automotive OS-এর জন্য, আপনার Android Automotive OS মডিউলের build.gradle ফাইলের জন্য androidx.car.app:app-automotive-এর উপর নির্ভরতা যোগ করুন।

এছাড়াও, আপনি যে গাড়ির ডেটা ব্যবহার করতে চান তার জন্য অনুরোধ করতে, আপনার AndroidManifest.xml ফাইলে, আপনাকে অবশ্যই প্রাসঙ্গিক অনুমতি ঘোষণা করতে হবে। এছাড়াও, ব্যবহারকারীকে আপনাকে এইসব অনুমতি দিতে হবে। আপনি প্ল্যাটফর্ম-নির্ভর ফ্লো তৈরি করার পরিবর্তে Android Auto এবং Android Automotive OS-এ একই কোড ব্যবহার করতে পারবেন। তবে, প্রয়োজনীয় অনুমতি আলাদা আলাদা হয়।

CarInfo

এই সারণীটি CarInfo API-তে প্রদত্ত প্রপার্টি এবং সেগুলি ব্যবহার করার জন্য আপনাকে অনুরোধ করতে হবে এমন অনুমতির বিবরণ দেয়।

পদ্ধতি প্রপার্টি অনুমতি:
Android Auto
অনুমতি:
AAOS
Car App API
fetchModel প্রস্তুতকারক, মডেল, বছর android.car.permission.CAR_INFO 3
fetchEnergyProfile EV কানেক্টরের ধরন, জ্বালানির ধরন com.google.android.gms.permission.CAR_FUEL android.car.permission.CAR_INFO 3
fetchExteriorDimensions

API 30 বা তার পরের যেকোনও ভার্সনে চলে এমন কিছু AAOS গাড়িতেই শুধু ডেটা উপলভ্য।

বাইরের ডাইমেনশন N/A android.car.permission.CAR_INFO 7

addTollListener

removeTollListener

টোল কার্ড স্টেট, টোল কার্ডের ধরন 3

addEnergyLevelListener

removeEnergyLevelListener

ব্যাটারি লেভেল, ফুয়েল লেভেল, ফুয়েল লেভেল কম, রেঞ্জ বাকি আছে com.google.android.gms.permission.CAR_FUEL android.car.permission.CAR_ENERGY

android.car.permission.CAR_ENERGY_PORTS

android.car.permission.READ_CAR_DISPLAY_UNITS
3

addSpeedListener

removeSpeedListener

র স্পিড, ডিসপ্লে স্পিড (গাড়ির ক্লাস্টার ডিসপ্লেতে দেখানো হয়) com.google.android.gms.permission.CAR_SPEED android.car.permission.CAR_SPEED

android.car.permission.READ_CAR_DISPLAY_UNITS
3

addMileageListener

removeMileageListener

ওডোমিটার দূরত্ব com.google.android.gms.permission.CAR_MILEAGE Google Play থেকে ইনস্টল করা Android Automotive OS অ্যাপের জন্য ডেটা উপলভ্য নেই। 3

যেমন, বাকি রেঞ্জ পেতে, একটি CarInfo অবজেক্ট ইনস্ট্যানশিয়েট করুন, তারপর একটি OnCarDataAvailableListener তৈরি ও রেজিস্টার করুন:

val carInfo = carContext.getCarService(CarHardwareManager::class.java).carInfo

val listener = OnCarDataAvailableListener<EnergyLevel> { data ->
    if (data.rangeRemainingMeters.status == CarValue.STATUS_SUCCESS) {
        val rangeRemaining = data.rangeRemainingMeters.value
    } else {
        // Handle error
    }
}

carInfo.addEnergyLevelListener(carContext.mainExecutor, listener)
// ...
// Unregister the listener when you no longer need updates
carInfo.removeEnergyLevelListener(listener)

গাড়ির ডেটা সবসময় উপলভ্য থাকবে বলে ধরে নেবেন না। আপনি কোনও সমস্যা দেখতে পেলে, আপনার অনুরোধ করা ভ্যালুর স্ট্যাটাস চেক করে দেখুন যাতে আপনি আরও ভালভাবে বুঝতে পারেন যে কেন আপনার অনুরোধ করা ডেটা পাওয়া যায়নি। CarInfo ক্লাস সংজ্ঞা সম্পর্কে আরও জানতে, রেফারেন্স ডকুমেন্টেশন দেখুন।

CarSensors

CarSensors ক্লাস আপনাকে গাড়ির অ্যাক্সিলরোমিটার, জাইরোস্কোপ, কম্পাস ও লোকেশন ডেটা অ্যাক্সেস করতে দেয়। এইসব ভ্যালুর উপলভ্যতা OEM-এর উপর নির্ভর করতে পারে। অ্যাকসিলরোমিটার, জাইরোস্কোপ এবং কম্পাস থেকে পাওয়া ডেটার ফর্ম্যাট SensorManager API থেকে পাওয়া ডেটার মতোই হয়।

যেমন, গাড়ির দিকনির্দেশ চেক করতে:

val carSensors = carContext.getCarService(CarHardwareManager::class.java).carSensors

val listener = OnCarDataAvailableListener<Compass> { data ->
    if (data.orientations.status == CarValue.STATUS_SUCCESS) {
        val orientation = data.orientations.value
    } else {
        // Data not available, handle error
    }
}

carSensors.addCompassListener(CarSensors.UPDATE_RATE_NORMAL, carContext.mainExecutor, listener)
// ...
// Unregister the listener when you no longer need updates
carSensors.removeCompassListener(listener)

গাড়ি থেকে লোকেশন ডেটা অ্যাক্সেস করতে, আপনাকে অবশ্যই android.permission.ACCESS_FINE_LOCATION অনুমতি ঘোষণা ও অনুরোধ করতে হবে।

পরীক্ষা

Android Auto-তে পরীক্ষা করার সময় সেন্সর ডেটা সিমুলেট করতে, Desktop Head Unit গাইড থেকে সেন্সর ও সেন্সর কনফিগারেশন বিভাগ দেখুন। Android Automotive OS-এ পরীক্ষা করার সময় সেন্সর ডেটা সিমুলেট করতে, Android Automotive OS এমুলেটর গাইডে হার্ডওয়্যার স্টেট এমুলেট করা দেখুন।