我使用以下代码段在设备上启动应用:
Context mContext = getContext();
String packageName = getPackageName(); //the app to launch
Intent mIntent = getPackageManager().getLaunchIntentForPackage(packageName);
if(mIntent!=null){
mContext.startActivity(mIntent);
}
它有效,应用程序启动了,但是,我没有找到一种方法来使用packageName
关闭已启动的应用程序。
如果我只知道包裹名称,如何关闭已启动的应用程序?
答案 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);