我想使用 AA Emulator 中提供的车辆 API 来使用一些汽车数据。
为此,我使用 createCar 创建新的 Car 对象,该对象同步连接到 Car Service 并准备好使用。
但是,当我使用这部分代码时:
car = Car.createCar(this, null, CAR_WAIT_TIMEOUT_WAIT_FOREVER) { car:Car, ready: Boolean ->
if (ready) {
//Car service is available
onCarServiceReady()
}
}
该函数onCarServiceReady()
包含访问 CarPropertyManager 的代码。
在“运行”之后,我收到一个错误:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.xxxxxxx.apiagent, PID: 29930
java.lang.NoSuchMethodError: No static method createCar(Landroid/content/Context;Landroid/os/Handler;JLandroid/car/Car$CarServiceLifecycleListener;)Landroid/car/Car; in class Landroid/car/Car; or its super classes (declaration of 'android.car.Car' appears in /system/framework/android.car.jar)
我设法使用不推荐使用的方法使其工作:
car = Car.createCar(this, object : ServiceConnection {
override fun onServiceConnected(componentName: ComponentName, iBinder: IBinder) {
onCarServiceReady()
}
override fun onServiceDisconnected(componentName: ComponentName) {
// on failure callback
}
})
由于这种方式已被弃用,我很乐意使用显示错误的代码使其工作......
我应该改变什么才能使它起作用,为什么实际上第一个解决方案不起作用?
提前致谢!