android 应用重启 关闭

在主Activity中实现如下方法: 用于调用重启

List list = new ArrayList();
/////////////////////////////////////////////////////////////member end 600 442 - 39
//自动启动
public static void restartApp()
{
System.out.println(" ------------------------------------------ restartApp ");
AppActivity.sContext.restart();
}
public void restart()
{
System.out.println("-----------------------" + getBaseContext().getPackageName());
for(Activity activity:list)
{
activity.finish();
}
list.clear();
Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());  
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
startActivity(i);
}

在cpp中, 使用jni调用java中的public static void restartApp()函数
cocos2d::JniMethodInfo method;

bool b = cocos2d::JniHelper::getStaticMethodInfo(method, "org.cocos2dx.cpp.AppActivity", "restartApp", "()V");
if(b)
{
method.env->CallStaticVoidMethod(method.classID, method.methodID);
}

实现重启功能。




Application里加函数

private List<Activity> mList = new ArrayList<Activity>();  

public void addActivity(Activity activity) {   
       mList.add(activity);   
   } 
 

退出
//关闭每一个list内的activity  
   public void exit() {   
       try {   
           for (Activity activity:mList) {   
               if (activity != null)   
                   activity.finish();   
           }
           mList.clear();
       } catch (Exception e) {   
           e.printStackTrace();   
       } finally {   
           System.exit(0);   
       }   
   }   
   

重启
   public void restart()
   {
   System.out.println("-----------------------" + getBaseContext().getPackageName());
   for (Activity activity:mList) {   
            if (activity != null)   
                activity.finish();   
        }   
   mList.clear();
   Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());  
   i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
   startActivity(i);
   }



应用

m_app.restart();//重启


//关闭

m_app.exit();
System.exit(0);

阅读更多
上一篇android-USB-OTG 外部设备通讯 USB插拔检测
下一篇jni object的使用
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭