1

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

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

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

它可以工作,应用程序启动,但是,我不知道如何使用packageName.

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

4

2 回答 2

3

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

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

于 2013-09-05T17:36:22.767 回答
1

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

  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); 
于 2017-09-05T21:39:04.380 回答