Android 怎么退出整个应用程式

Android 怎么退出整个应用程式,第1张

Android 怎么退出整个应用程式

在Android中,Activity有个栈,一个Activity结束掉,会回到上一个Activity,并不是退出应用程式。

Android中,退出应用程式的方式:

通过pid

int pid = android.os.Process.myPid()获取当前应用程式的PID

android.os.Process.killProcess(pid)杀死当前程序

这种方法退出应用,是会保留某些后进程,例如:Service,Notifications等。

2.通过ActivityManager

ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE)获取应用程式管理器

manager.killBackgroundProcesses(getPackageName())强制结束当前应用程式

这种方式退出应用,会结束本应用程式的一切活动,因为本方法会根据应用程式的包名杀死所有程序包括Activity,Service,Notifications等。

呼叫System.exit(0);

其实还有一种方法也不错,把MainActivity设定为singleTop,先跳转到MainActivity然后finish就行,不过要注意停掉相应的Service

大家都知道 Android 的 Activity 是存著历史栈的,比如从 A ->B ->C,C 完成 finish 后回到 B,把所有的Activity 都 finish了,程式就自然退出了。 当然在 finish 的同时也需要是否自己程式的其他资源。所以需要想个办法把 Activity 给存起来。然后在程式退出的地方呼叫它们的 finish()方法。

使用全域性变数。对了,第一个想到的就是继承 Application,程式码入下。

public class AgentApplication extends Application { private List<Activity>activities = new ArrayList<Activity>()public void addActivity(Activity activity) {activities.add(activity)} @Overridepublic void onTerminate() {super.onTerminate()for (Activity activity : activities) {activity.finish()}onDestroy()System.exit(0)}}

然后在 Activity onCreate 的时候来呼叫 addActivity (),有人可能想到这个Application需要在所有的 Activity onCreate的时候都使用,需要做一个单例例项。其实根本不需要。在 Activity 中使用 this.getApplication() 就可以了。

最后在你需要推出程式的地方呼叫 application.onTerminate() 就可以了。记住:super.onTerminate() 必须呼叫,程式码中的 onDestroy()是我自己的释放其他资源的方法,不是系统的。

执行以上程式码后,在LogCat 中会出现一行提示:

Process 包名 (pid xxxxx) has died. 证明你的程式退出了。现在你可以测试了。

有几种方法,一种是:程式退出时,下方有写 在按一次退出程式

第二种,进 设定-应用程式-正在执行 这一栏自己关

有时跳转的activity较多时,还需要多次按返回键,这样感觉一点都不爽。 后面添加了一个选单返回功能键,这个方法也只能用system.exit(0)来关闭当前活动的Activity,附程式码: public boolean onCreateOptionsMenu(Menu menu){super.onCreateOptionsMenu(menu)MenuItem item = menu.add(Menu.NONE, Menu.NONE, Menu.NONE, "Exit")item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener(){public boolean onMenuItemClick(MenuItem item){System.exit(0)return true}})return true}想到这样太不方便了,每次退出介面之后应用程式还在执行,今天查了下资料终于把这个问题给解决了, 网上提供了几种方法,我吸收了下面这个自认为简单易懂的方法,将下面SysApplication这个类复制到工程里面,然后在每个Acitivity的oncreate方法里面通过SysApplication.getInstance().addActivity(this)添加当前Acitivity到ancivitylist里面去,最后在想退出的时候呼叫SysApplication.getInstance().exit()可直接关闭所有的Acitivity并退出应用程式。 附程式码:import java.util.LinkedListimport java.util.Listimport android.app.Activityimport android.app.AlertDialogimport android.app.Applicationimport android.content.DialogInterfaceimport android.content.Intentpublic class SysApplication extends Application { private List mList = new LinkedList()private static SysApplication instanceprivate SysApplication() { } public synchronized static SysApplication getInstance() { if (null == instance) { instance = new SysApplication()} return instance} add Activity public void addActivity(Activity activity) { mList.add(activity)} public void exit() { try { for (Activity activity : mList) { if (activity != null) activity.finish()} } catch (Exception e) { e.printStackTrace()} finally { System.exit(0)} } public void onLowMemory() { super.onLowMemory()System.gc()} } 在应用程式里面 的activity的oncreate里面新增SysApplication.getInstance().addActivity(this)如:public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState)

你可以长按主屏键后,在其中关闭应用程式。但并不能完全退出执行记忆体

问题一:怎样关闭安卓手机正在运行的软件 关闭安卓手机正在运行的软件的方法有如下几种:

方法一:

1,依次打开手机的设置--------应用程序-----------管理应用程序--------正在运行。

2,在正在运行页面的,找到并点击你要关闭的应用程序。

3,点击 “停止”,即可关闭正在运行的软件。

方法二:

1,下载手机助手,以百度卫士为例。

2,安装完成后,可点击屏幕上的悬浮窗,即可出现一键清理的功能。

3,桌面上也会出现一键清理的图标。亦可点击使用。

问题二:安卓怎么彻底关闭后台程序?太占内存了。 下载一个安卓手机助手,或者360手机助手,清理关闭就可以了

只要不行是因为你没取得root权限,用智能手机一部都耿取得root权限的,具体的好像是要去下一个专门获取root权限的软件。。完了之后,再用这些软件就可以了

问题三:怎么退出安卓系统触屏手机的后台程序? 长按home键,然后有任务管理器(系统自带的),点击进去就可以了。

或者装个高级任务管理器,然后在伐面添加一个“一键清除”的插件,想清除的时候就可以随时清除了。

问题四:安卓手机怎么能不关必后台运行软件 1、在手机中选择“设置”。

2、进入设置,选择全部设置,再选择“应用”。

3、找到允许后台运行的软件,并点击此软件。

4、进入应用信息页面后,找到“权限管理”并点击进入。

5、将“自动启动”后面的开关打开。

6、将“自动启动”后面的开关打开后,就完成了设置。

问题五:三星安卓系统怎么彻底关闭后台应用程序 手机自动启动软件是无法永久关闭的,可通过第三方软件临时关闭,或控制后台数量。如需控制手机后台应用程序的数量,请 *** 作:

1、设定-开发者选项-不保留活动(离开后立即清除每个活动)/限制后台进程(标准限制/无后台程序/最多1个程序/最多2个程序/最多3个程序/最多4个程序)。

2、若系统自动隐藏了开发者选项,此功能仅适用于开发人员测试使用,所以将该菜单隐藏,避免用户造成误 *** 作而带来使用上的不便,请谅解。

3、如需开启,方式:功能表-设定--关于设备-内部版本号7次连续点击-会提示开发者模式已启用,返回上一级菜单即可看到开发者选项。

问题六:怎样关掉手机后台运行软件? 我通常是这样做的,虽然有点不习惯,但是为了还能够保修:

1. 在设置---应用管理程序进去后把那些垃圾预装软件能够禁用的直接禁用掉

2. 在设置----开发人员选项里面进去后,将后台运行程序的数量选择设置为不允许后台运行程序

3. 在设置----流量管理相应的菜单里面进去,设置禁止后台程序使用手机流量。

4. 在上面三步做了之后,再可以下一个安全软件,我一般使用lbe 主要是感觉这个软件比较干净,没有那么多乱七八糟的功能,而且它能在不root的情况下,设置软件的后台启动和开机自动启动,还可以将不用的垃圾软件全部禁止上网。

通过上面几个步骤,你会发觉不但手机变得干净了,而且流量也不会被偷偷流走,最重要的还有就是手机的电池用的时间大大延长了,唯一的缺点就是不允许后台运行程序就要每次打开对应的程序,但是为了跟厂家对抗那些垃圾程序,我乐意损失这点不方便,等一年报修过后,我再root彻底卸载那些垃圾程序!

问题七:安卓手机如何关闭某一程序的定位请求 去设置,应用管理,找到那个应用,点进去,点权限,把gps的权限改为不允许

问题八:安卓机后台运行的软件怎么退出啊 可以罚设置 应用程序 运行中的服务 就可以看到运行的后台或服务。或者安装一个 海卓手机加速 设置锁屏后自动结束后台或服务,设置白名单的不会自动结束。

问题九:安卓手机怎么关闭手机后台程序 手机/平板电脑如需关闭后台运行的程序,请 *** 作:

1.点击屏幕左下角的【最近应用程序】键-进入任务管理器结束后台应用程序(部分机器:长按Home键,打开任务管理器,将活动的应用程序结束)。

2.通过智能管理器/内存管理器关闭不需要自动运行的程序(注:建议将即时通讯类APP如微信自启动设为“开”)。若机器中没有找到智能管理器/内存管理器,请将手机升级到最新版本后查找尝试。

3.第三方软件安装完成后会出现“应用程序许可”选择窗口,如不需要“自动运行”,请关闭(此方式适用于OS5.0及以上系统)

问题十:安卓手机怎样直接退出最小化的程序 设置-应用程序-管理应用程序-仅运行应用程序。。里面可以看到现在正在运行的所有进程,也可以憨束它、这个步骤是安卓通用的,不知道你什么牌子的。。。

还有简单点就是屏幕往下滑,里面就有最小化的程序,有些程序有退出选项,没有的多按几次返回键或长按返回键就能退出,现在我用过的能最小化的程序就只有qq和飞信了。

安卓手机彻底关闭后台程序的方法及步骤:

在手机上找到“设置”这个程序,点击打开。

2.  会出现以下的界面,有“全部设置”“常用设置”两个,选择“全部设置”后,会罗列出手机的各项设置。

3.  在全部的设置中,找到“受保护的后台程序”这一栏,点击进入。

4.  然后你会看到你的手机受到保护的各项程序,对于警示高耗电的,尽量关闭,不然会消耗电量。在不想后台运行的程序的后面的对勾去掉即可。

5.  如下图的情况,即有对勾的程序是受到保护的程序,没对勾的就是不再后台运行的程序。

6.  关闭这些后台悄悄运行的程序,会节省大量的电量,也能防止流量的消耗。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11036322.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存