cocos2dx android 实现应用重启
发布时间:2020-12-14 16:45:02 所属栏目:百科 来源:网络整理
导读:由于本身对java一点也不了解,所以我不知道这种做法是否会造成什么问题,但至少实现了重启的功能。 在AppActivity.java中加入如下代码: //自动启动public static void restartApp(){AppActivity.sContext.restart();}public void restart(){finish();Intent
由于本身对java一点也不了解,所以我不知道这种做法是否会造成什么问题,但至少实现了重启的功能。
在AppActivity.java中加入如下代码: //自动启动 public static void restartApp() { AppActivity.sContext.restart(); } public void restart() { finish(); Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName()); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); android.os.Process.killProcess(android.os.Process.myPid()); } 另外sContext需要自己手动添加,仿照Cocos2dxActivity添加即可。
现在需要在cpp中调用restartAPP函数: JniMethodInfo method; bool b = cocos2d::JniHelper::getStaticMethodInfo(method,"org.cocos2dx.cpp.AppActivity","restartAPP","()V"); if(b) { method.env->CallStaticVoidMethod(method.classID,method.methodID); method.env->DeleteLocalRef(method.classID); }需要包括头文件: #include "platform/android/jni/JniHelper.h" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |