以编程方式关闭应用程序(知道包名称)

时间:2013-09-05 16:50:19

标签: android performance android-layout android-intent android-package-managers

我使用以下代码段在设备上启动应用:

Context mContext = getContext();
String packageName = getPackageName(); //the app to launch

Intent mIntent = getPackageManager().getLaunchIntentForPackage(packageName);
if(mIntent!=null){
     mContext.startActivity(mIntent);
}

它有效,应用程序启动了,但是,我没有找到一种方法来使用packageName关闭已启动的应用程序。

如果我只知道包裹名称,如何关闭已启动的应用程序?

2 个答案:

答案 0 :(得分:3)

您无法关闭其他应用。只有系统可以做到这一点。

但如果您也是该应用程序的作者,您可以在该应用程序的活动中创建一个接收者,该活动接受一个意图,告诉它完成()活动。

答案 1 :(得分:0)

您无法从您的app关闭其他应用程序。您的问题有一个解决方法,在根据包名启动应用程序后,您可以发送回家意图,这将为用户提供相同的体验。

  Intent mIntent = getPackageManager().getLaunchIntentForPackage(packageName);
    if(mIntent!=null){
         mContext.startActivity(mIntent);
    }
//sleep for 250ms or whatever time using handler
    Intent startMain = new Intent(Intent.ACTION_MAIN);
    startMain.addCategory(Intent.CATEGORY_HOME);
    startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(startMain);