android - 如何从任务管理器中杀死Android应用程序?

标签 android

我对 Android 应用程序有疑问。

“如何从任务管理器终止 Android 应用程序?”。我已经尝试过System.exit(0) , android.os.Process.killProcess(android.os.Process.myPid());finish()但他们只会停止应用程序,不会从任务管理器中杀死应用程序。请告诉我该怎么做。

更新: 我用过finishAffinity()从任务管理器中清除应用程序并 System.exit(0)停止 Activity ,看起来对我的问题来说很好。

最佳答案

我的解决方案基于上面访客的评论以及下面 gilsaints88 的评论(针对 Android L 兼容性):

将此 Activity 添加到您的 AndroidManifest.xml 文件中:

<activity
android:name="com.example.ExitActivity"
android:theme="@android:style/Theme.NoDisplay"
android:autoRemoveFromRecents="true"/>

然后创建一个类ExitActivity.java:

public class ExitActivity extends Activity{
@Override protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    if(android.os.Build.VERSION.SDK_INT >= 21){
        finishAndRemoveTask();
    }
    else{
        finish();
    }
}

public static void exitApplication(Context context)
{
    Intent intent = new Intent(context, ExitActivity.class);

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);

    context.startActivity(intent);
}

}

然后,每当您想要强制关闭应用程序并将其从最近的列表中删除时,请调用:

ExitActivity.exitApplication(context);

此解决方案适合我,而不是声明 android:excludeFromRecents="true"因为我希望用户能够在最近列表中看到该应用程序,直到我的应用程序触发以编程方式关闭应用程序。

关于android - 如何从任务管理器中杀死Android应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38517320/

相关文章:

android - 在Android中处理AudioManager的最佳方法

android - 是否所有智能手机浏览器(Android 和 iOS)都支持多点触控/手势?

android - 在android中使用ConstraintLayout自定义工具栏

java - 以编程方式启用存储 android

更改字体后的 Android 字体样式不起作用

android - 在 android 中的谷歌地图上加载假 map

java - 无法从 ArrayList 创建 ArrayAdaptor

android - 使用 onOffsetsChanged() 获取主屏幕滑动方向

android - 通用图像加载器 gridview 在 notifyDataSetChanged 调用后闪烁

java - 为什么将此 Python POST 请求转换为 Java 不起作用?