cocos2dx android 实现应用重启

来源:互联网 发布:系统功能开发 java 编辑:程序博客网 时间:2024/06/06 04:59

由于本身对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"



0 0
原创粉丝点击