android - 尝试在空对象引用上调用接口(interface)方法 'boolean com.google.common.util.concurrent.ListenableFuture.cancel(boolean)'

标签 android kotlin wear-os

我试图弄清楚如何从 Wear OS 上的健康服务获取传感器数据。
我正在尝试从 Passive Data Sample 运行样本 ( official guide )在 Emulator for Wear OS API 30 上(他在 Beta Android Studio Arctic Fox 中可用),但我收到此错误:

2021-07-02 16:55:54.041 7172-7200/com.example.passivedata E/AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-1
Process: com.example.passivedata, PID: 7172
java.lang.NullPointerException: Attempt to invoke interface method 'boolean com.google.common.util.concurrent.ListenableFuture.cancel(boolean)' on a null object reference
    at android.os.Parcel.createExceptionOrNull(Parcel.java:2392)
    at android.os.Parcel.createException(Parcel.java:2370)
    at android.os.Parcel.readException(Parcel.java:2353)
    at android.os.Parcel.readException(Parcel.java:2295)
    at androidx.health.services.client.impl.IPassiveMonitoringApiService$Stub$Proxy.registerDataCallback(IPassiveMonitoringApiService.java:318)
    at androidx.health.services.client.impl.ServiceBackedPassiveMonitoringClient$registerDataCallbackInternal$serviceOperation$1.execute(ServiceBackedPassiveMonitoringClient.kt:122)
    at androidx.health.services.client.impl.ipc.Client$3.execute(Client.java:222)
    at androidx.health.services.client.impl.ipc.internal.ServiceConnection.execute(ServiceConnection.java:243)
    at androidx.health.services.client.impl.ipc.internal.ServiceConnection.enqueue(ServiceConnection.java:200)
    at androidx.health.services.client.impl.ipc.internal.ConnectionManager.handleMessage(ConnectionManager.java:123)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:223)
    at android.os.HandlerThread.run(HandlerThread.java:67)
有没有人遇到过类似的问题?

最佳答案

在您的 android/app/build.gradle 文件中将 enableHermes 从 false 更改为 true

project.ext.react = [
    enableHermes: true
]
在 android/app/src/main/java/com/yourProjectName/MainApplication.java 中添加这些行
import com.facebook.react.bridge.JSIModulePackage;
import com.swmansion.reanimated.ReanimatedJSIModulePackage;

@Override
protected JSIModulePackage getJSIModulePackage() {
    return new ReanimatedJSIModulePackage();
}
//if this is not exist then also add this
@Override
protected String getJSMainModuleName() {
    return "index";
}
并重建项目

关于android - 尝试在空对象引用上调用接口(interface)方法 'boolean com.google.common.util.concurrent.ListenableFuture.cancel(boolean)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68271344/

相关文章:

java - 两个按钮导致相同的 Activity

android - 如何在 Kotlin 的 Fragment 中使用 Android AlarmManager?

android - 从 Wear 向手机 [MessageAPI] 发送消息时未收到消息

android - 检测可穿戴设备何时更改为剧院/影院模式

android - Android Wear 上的离线语音识别

Android - 自定义新来电屏幕

Android + Xamarin 推送通知自定义声音不会播放

java - 声明一个类实现 OnClickListener 还是自己声明?

spring - Kotlin 编译器提示在属性定义中使用 SPeL 表达式。为什么?

kotlin - 这在 kotlin 接口(interface)委托(delegate)中