zoukankan      html  css  js  c++  java
  • Android 杀死进程

    当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用:

    第一种方法:首先获取当前进程的id,然后杀死该进程。
    android.os.Process.killProcess(android.os.Process.myPid())

    接下来实践一下:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:onClick="click"
            android:text="自杀" />
    
    </RelativeLayout>

    添加点击事件代码

        public void click(View view) {
            // 获取当前进程的id
            int pid = android.os.Process.myPid();
            // 这个方法只能用于自杀操作
            android.os.Process.killProcess(pid);
    
        }

    在点击按钮之前,可以看到进程

    点击按钮后,进程自杀

    第二种方法:终止当前正在运行的Java虚拟机,导致程序终止
    System.exit(0);

    android.permission.KILL_BACKGROUND_PROCESSES

    第三种方法:强制关闭与该包有关联的一切执行

    ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    manager.restartPackage(getPackageName());
    <uses-permission android:name="android.permission.RESTART_PACKAGES" />

  • 相关阅读:
    RPI学习--环境搭建_更新firmware
    RPI学习--环境搭建_刷卡+wiringPi库安装
    [转]VS2005 Debug时提示"没有找到MSVCR80D.dll"的解决办法
    [转]结构体字节对齐
    [转]C++运算优先级列表
    putty基本操作
    Go 修改字符串中的字符(中文乱码)
    Go part 5 结构体,方法与接收器
    pickle 和 base64 模块的使用
    原来还有 卡夫卡 这个人存在
  • 原文地址:https://www.cnblogs.com/wuyudong/p/5887847.html
Copyright © 2011-2022 走看看