如果用户按下backPressed运行我的活动,则该活动将被关闭,并且在最近的应用程序列表中不可见。我希望它显示在最近的应用程序列表中。我该怎么办?
@Override
public void onBackPressed() {
super.onBackPressed();
Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
清单:
<activity
android:name=".MyActivity"
android:configChanges="mcc|mnc|locale|touchscreen
|keyboard|keyboardHidden
|navigation|orientation
|screenLayout|screenSize
|fontScale"
android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleTask"
android:screenOrientation="portrait" />
答案 0 :(得分:1)
从AndroidManifest删除此行
android:excludeFromRecents="true"
或将其设置为假
android:excludeFromRecents="false"
答案 1 :(得分:1)
我认为@begiNNer想从设备中删除最近的应用程序(指上次使用的应用程序),例如 CleanMaster 应用程序。因此,必须获得正在运行的应用程序的 pid ,而不是一个一个地删除它。如果是这种情况,则下面的代码将起作用。
代码:
activityManager.killBackgroundProcess(pid);
android.os.Process.killProcess(pid);
获取pid代码:
ActivityManager am = (ActivityManager)
context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> pids = am.getRunningAppProcesses();
int processid = 0;
for (int i = 0; i < pids.size(); i++) {
ActivityManager.RunningAppProcessInfo info = pids.get(i);
System.out.println(info.pid);
}