`

Android完全关闭应用程序

 
阅读更多

在工作过程序中遇到一个需要完全关闭应用程序的问题,在网络上找了一大堆的文章,每篇都是用System.exit(0) 或者 android.os.Process.killProcess(android.os.Process.myPid()) 这两种方法,但是我试过了, System.exit(0) 这个根本不行,而 android.os.Process.killProcess(android.os.Process.myPid()) 这个只能关闭当前的 Activity ,也就是对于一个只有单个 Activity 的应用程序有效,如果对于有多外 Activity 的应用程序它就无能为力了。

         下面我介绍一下对于多个 Activity 的应用程序的完全关闭方法:

 ActivityManager 类中提供了如下的方法:

       

          /**
	* Have the system perform a force stop of everything associated with
         * the given application package. All processes that share its uid
         * will be killed, all services it has running stopped, all activities
         * removed, etc. In addition, a {@link Intent#ACTION_PACKAGE_RESTARTED}
         * broadcast will be sent, so that any of its registered alarms can * be stopped, notifications removed, etc.
         *
         * You must hold the permission * {@link android.Manifest.permission#RESTART_PACKAGES} to be able to
         * call this method.
         *
         * @param packageName The name of the package to be stopped.
         */
    public void restartPackage(String packageName) {
    try {
        ActivityManagerNative.getDefault().restartPackage(packageName);
    }
    catch (RemoteException e) { }
}
   


所以如果要关闭整个应用程序的话只需要运行以下两行代码就行:

ActivityManager activityMgr= (ActivityManager) this.getSystemService(ACTIVITY_SERVICE );

activityMgr.restartPackage(getPackageName());

最后还需要添加这个权限才行:

<!-- 关闭应用程序的权限 -->
<uses-permission android:name="android.permission.RESTART_PACKAGES" />

 

分享到:
评论
2 楼 limingcai 2011-10-25  
确实不行,2.2就不行了,虽说2.3了 只有1.6可以
1 楼 newcman 2011-08-26  
好像2.2之后的不可以吧~

相关推荐

    android 完全退出程序

    在Android系统中,完全退出一个...总之,完全退出Android程序涉及对应用生命周期的理解、Activity栈的管理、Intent的使用以及处理后台组件。合理的设计和编程实践将确保应用既能满足用户需求,又能在必要时高效地退出。

    android关闭应用程序

    在Android开发中,控制应用程序的生命周期是至关重要的,特别是在需要优雅地关闭应用或者管理后台进程时。本文将深入探讨在不同Android版本下关闭应用程序的方法、权限需求以及最佳实践。 ### 关闭应用程序的方法 ...

    Android 完全退出程序,关闭所有Activity

    在Android应用开发中,完全退出程序意味着结束所有与应用程序相关的活动(Activity)并释放系统资源。用户通常期望点击“退出”按钮后,整个应用程序能够完全关闭,而不是仅仅停留在后台运行。下面我们将详细讨论...

    android 如何完全退出程序

    在Android中,单纯调用`System.exit(0)`或`android.os.Process.killProcess(android.os.Process.myPid())`并不能确保应用程序中的所有Activity都被完全关闭,尤其是当应用程序中有多个Activity栈存在时。这种情况下...

    Android应用开发多个activity完全退出程序方法

    在用户想要退出应用时,简单地结束当前Activity并不足以完全关闭应用,因为后台可能还有其他Activity处于栈顶等待恢复。因此,我们需要一种策略来确保所有Activity都被正确关闭,以便完全退出程序。 在Android中,...

    android 完全退出应用程序实现代码

    在Android开发中,完全退出应用程序并不像在桌面操作系统中简单地关闭窗口那样直观。由于Android的设计理念强调用户体验和后台进程的高效利用,因此系统通常不会允许应用自行彻底退出,而是将其保留在内存中以便快速...

    Android利用Intent启动和关闭Activity

    在Android应用程序开发中,Intent是连接各个组件(如Activity、Service等)的关键桥梁,主要用于启动和关闭Activity。Intent不仅能够启动一个新的Activity,还能在Activity之间传递数据,实现应用内部或应用间的交互...

    android后台程序清理器

    "Android后台程序清理器"是一款专门针对Android操作系统设计的应用程序,其主要功能是管理和优化手机中的后台运行程序,以提高设备性能和延长电池寿命。在Android系统中,应用程序经常会在用户不知情的情况下继续...

    《Android应用程序开发》源代码

    在Android应用程序开发中,源代码是开发者实现功能、构建用户界面和管理应用程序逻辑的核心部分。这份"《Android应用程序开发》源代码"包含了官方未修改的示例,为初学者和经验丰富的开发者提供了一个深入理解...

    android点击图标关闭屏幕

    在Android操作系统中,点击图标关闭屏幕这一功能涉及到的是应用程序与系统交互、用户界面设计以及电源管理等多个方面。这里我们将深入探讨实现这一功能所涉及的技术点和步骤。 首先,要理解Android系统的应用程序...

    android RS232串口读写程序

    - Java层:创建JNI接口,提供给Android应用调用,进行串口的打开、关闭、读写等操作。 - C/C++层:实现JNI接口,直接操作底层硬件,执行实际的串口读写。 - AndroidManifest.xml:配置文件,可能需要添加读写权限...

    android安卓app如何彻底结束进程. 光调用finish()是结束不了程序的,程序中的线程依旧在后台运行.zip

    在Android系统中,当用户点击应用的返回按钮或者调用`finish()`方法时,当前活动(Activity)会被销毁,但这并不意味着整个应用程序进程被完全结束。实际上,Android系统为了优化性能,可能会保持应用的部分或全部...

    android的3秒倒计时关闭界面或点击关闭

    在Android应用开发中,有时我们需要实现一种功能,即在用户界面上显示3秒倒计时,用户可以选择在倒计时结束前点击界面来取消自动关闭,或者等待倒计时结束后,程序自动关闭界面。这样的设计可以增加用户体验,给用户...

    Android完全退出应用程序的方法

    本文实例讲述了Android完全退出应用程序的方法。分享给大家供大家参考。具体如下: 在Android中,如果想退出Android程序,一般都是调用finish()、System.exit(0)、android.os.Process.killProcess(android.os....

    Android应用程序开发

    【Android 应用程序开发】是一门涉及到在线编程技术的学科,主要在App Inventor 2平台上进行。在这个平台上,开发者可以构建具有图形用户界面(GUI)的Android应用程序,而无需深入理解底层的编程语言。以下是对...

    android7 关闭ANR对话框代码

    在Android系统中,ANR(Application Not Responding)是一个常见的问题,它表示应用程序无响应,通常出现在用户界面长时间无法交互时。在Android 7.0版本中,框架引入了一种新特性,即自动关闭ANR对话框,并允许...

    Android平台下的摄像头应用程序

    在Android平台上开发摄像头应用程序是移动开发中的一个常见任务,它涉及到多媒体处理、用户界面设计以及设备硬件接口的交互。本文将深入探讨如何在Android环境中构建一个基础的摄像头应用,为初学者提供指导。 首先...

    Android完全退出程序方法

    特别是当应用程序包含多个Activity时,单纯地从栈顶Activity退出并不能确保整个应用的完全关闭,因为其他Activity可能仍在后台运行。本篇文章将深入探讨如何通过广播机制来实现Android程序的完全退出。 首先,我们...

    Android输入法的打开关闭

    在应用程序开发中,有时我们需要手动控制输入法的显示和隐藏。例如,在一个全屏应用中,可能需要在启动时隐藏输入法,或者在特定操作后显示输入法。以下是一些常见的API用法: 1. **显示输入法**: ```java ...

Global site tag (gtag.js) - Google Analytics