Android 怎么退出整个应用程式

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

Android 怎么退出整个应用程式

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

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

通过pid

int pid = androidosProcessmyPid(); 获取当前应用程式的PID

androidosProcesskillProcess(pid); 杀死当前程序

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

2通过ActivityManager

ActivityManager manager = (ActivityManager)contextgetSystemService(ACTIVITY_SERVICE); 获取应用程式管理器

managerkillBackgroundProcesses(getPackageName()); 强制结束当前应用程式

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

呼叫Systemexit(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) {activitiesadd(activity);} @Overridepublic void onTerminate() {superonTerminate();for (Activity activity : activities) {activityfinish();}onDestroy();Systemexit(0);}}

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

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

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

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

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

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

有时跳转的activity较多时,还需要多次按返回键,这样感觉一点都不爽。 后面添加了一个选单返回功能键,这个方法也只能用systemexit(0)来关闭当前活动的Activity,附程式码: public boolean onCreateOptionsMenu(Menu menu){superonCreateOptionsMenu(menu); MenuItem item = menuadd(MenuNONE, MenuNONE, MenuNONE, "Exit"); itemsetOnMenuItemClickListener(new MenuItemOnMenuItemClickListener(){public boolean onMenuItemClick(MenuItem item){Systemexit(0); return true;}});return true;}想到这样太不方便了,每次退出介面之后应用程式还在执行,今天查了下资料终于把这个问题给解决了, 网上提供了几种方法,我吸收了下面这个自认为简单易懂的方法,将下面SysApplication这个类复制到工程里面,然后在每个Acitivity的oncreate方法里面通过SysApplicationgetInstance()addActivity(this);添加当前Acitivity到ancivitylist里面去,最后在想退出的时候呼叫SysApplicationgetInstance()exit();可直接关闭所有的Acitivity并退出应用程式。 附程式码:import javautilLinkedList; import javautilList; import androidappActivity; import androidappAlertDialog; import androidappApplication; import androidcontentDialogInterface; import androidcontentIntent; public class SysApplication extends Application { private List mList = new LinkedList(); private static SysApplication instance; private SysApplication() { } public synchronized static SysApplication getInstance() { if (null == instance) { instance = new SysApplication(); } return instance; } add Activity public void addActivity(Activity activity) { mListadd(activity); } public void exit() { try { for (Activity activity : mList) { if (activity != null) activityfinish(); } } catch (Exception e) { eprintStackTrace(); } finally { Systemexit(0); } } public void onLowMemory() { superonLowMemory(); Systemgc(); } } 在应用程式里面 的activity的oncreate里面新增SysApplicationgetInstance()addActivity(this)如:public void onCreate(Bundle savedInstanceState){superonCreate(savedInstanceState);

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

首先一点

android的app绝大都的肯定是全屏的。接着问题就来了。你说A调用了B。那么界面肯定处于B的状态。要想A关闭B的话。肯定得返回A,然后再去关闭B,但是根据Activity

的生命周期的,如果没有重写返回键的响应的方法话,你按返回键应该B就被会被关闭才对。。以上是根据你先给的意思我发表的疑惑。

觉得我说的不对。你可以吧问题说的再详细点,

基本上没有任何单独的应用会这么做的。每个应用都是独立的,和其他应用没有必然的关系,原则上自己和其他app是没有关系的。除非像是支付宝和微信支付功能,会提供支付接口给第三方应用在支付时调用,但绝不可能让其他应用来关闭自己。

打开手机上的设置,点击应用,点击应用启动管理,点击右上角选项,点击批量手动管理,点击取消关联启动即可。

安卓是一种基于Linux内核的自由及开放源代码的 *** 作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android *** 作系统最初由Andy Rubin开发,主要支持手机。

2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。

平台优势:

丰富的硬件:这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色。

却不会影响到数据同步、甚至软件的兼容,如同从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。

方便开发:Android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。

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

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

通过pid

int pid = androidosProcessmyPid(); //获取当前应用程序的PID

androidosProcesskillProcess(pid); //杀死当前进程

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

2通过ActivityManager

ActivityManager manager = (ActivityManager)contextgetSystemService(ACTIVITY_SERVICE); //获取应用程序管理器

managerkillBackgroundProcesses(getPackageName()); //强制结束当前应用程序

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

以上就是关于Android 怎么退出整个应用程式全部的内容,包括:Android 怎么退出整个应用程式、android 如何关闭另一个应用程序activity、安卓中怎么在一个应用内关闭其他的应用程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/zz/10059690.html

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

发表评论

登录后才能评论

评论列表(0条)

保存