Android JNI判断当前是否附着于Main Thread
2016-11-14 20:06
197 查看
在Android开发中,工作线程中是不能直接操作Main Thread,但在JNI开发时,回调接口时,是不知道由线程还是main thread触发。因此,需要在接口中作判断:
JNIEnv *env = NULL;
if ((*g_jvm)->GetEnv(g_jvm, (void *) &env, JNI_VERSION_1_6) == JNI_EDETACHED) {
// detached
(*env)->CallVoidMethod(env, g_obj, on_cb_id);
(*g_jvm)->DetachCurrentThread(g_jvm);
} else {
// attached
}
ref:
http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/invocation.html
JNIEnv *env = NULL;
if ((*g_jvm)->GetEnv(g_jvm, (void *) &env, JNI_VERSION_1_6) == JNI_EDETACHED) {
// detached
(*env)->CallVoidMethod(env, g_obj, on_cb_id);
(*g_jvm)->DetachCurrentThread(g_jvm);
} else {
// attached
}
ref:
http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/invocation.html
相关文章推荐
- 判断android手机当前是否接入网络
- Android判断当前网络是否可用
- 如何判断Android手机当前是否联网
- Android判断当前设备是否联网
- 判断android手机当前是否接入网络
- Android判断当前网络是否可用--示例代码
- android 程序中判断当前是否连接网络,网络是否可用
- android判断当前通话状态是否为InComing
- Android判断当前网络是否可用--示例代码
- 如何判断Android手机当前是否联网?
- Android 获取当前系统时间 时间之间的转换 判断字符串是否日日期类型
- android中如何判断Android手机当前是否联网?
- android 判断是否在桌面,当前程序是否在运行
- 如何判断Android手机当前是否联网?
- 如何判断Android手机当前是否联网?
- 判断android手机当前是否接入网络
- Android - 判断当前是否使用的是Wifi网络
- android 判断当前应用是否处于活动状态
- 【Android】使用ConnectivityManager与NetworkInfo实现判断当前网络环境是否可用
- Android判断当前网络是否可用--示例代码