【发布时间】:2018-09-14 21:47:04
【问题描述】:
原谅我提出了一个非常模糊的问题,但是,我有一个纯原生 NDK 应用程序,它应该在沉浸式模式(即全屏)下执行。
通过APP_CMD_RESUME 恢复应用时,会执行沉浸式模式 JNI sn-p。这在大多数情况下都有效,但是,我的 activity->vm->DetachCurrentThread() 中的命令 activity->vm->DetachCurrentThread() 时不时地崩溃,并出现致命异常:
FATAL EXCEPTION: Thread-10
Process: com.toppluva.portis.LocalDebug, PID: 5474
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:7380)
at android.view.ViewRootImpl.recomputeViewAttributes(ViewRootImpl.java:3478)
at android.view.View.setSystemUiVisibility(View.java:22587)
这真的让我感到困惑,主要是因为它不时发生,我如何检测我是否正在从这个原始线程执行?
请注意,根据文档,APP_CMD_RESUME 从主线程执行。
【问题讨论】:
标签: android android-ndk java-native-interface android-fullscreen