“长按home键显示着 ” 并不意味着此程序一定在运行。
这时候显示的是运行过的历史记录,也就是说你看到的只是history列表,并非是正在运行的程序。
当你选择清除某个程序,若程序还在运行,基本上就会被停止(这么说是因为允许有些程序声明清除时后台service可以继续保持),如果是已经停止的程序,那么就是清除一个记录而已。
正在运行的程序列表才是可靠的。
楼主是要做进程管理吧? 我正在做着方面的 forceStopPackage()。它需要权限androidpermissionFORCE_STOP_PACKAGES。并且需要添加android:sharedUserId="androiduidsystem"属性同样可惜的是,该方法是非公开的,他只能运行在系统进程,第三方程序无法调用。因为需要在Androidmk中添加LOCAL_CERTIFICATE := platform。而 Androidmk是用于在Android源码下编译程序用的。、 查看原帖>>
杀进程: androidosProcesskillProcess(androidosProcessmyPid());
退Activity: androidappActivityfinish();
有两种解决办法,一个是你在高级任务管理器里设置定时查杀,就是设置好时间间隔后,高级任务管理器会定时关闭一遍进程。另一种方法需要你root你的手机,然后用有root权限的程序管理器(比如超级工具箱等)把不用的程序卸载。
1 Dalvik VM的本地方法
androidosProcesskillProcess(androidosProcessmyPid()) //获取PID
Systemexit(0); //常规java、c#的标准退出法,返回值为0代表正常退出
2 任务管理器方法
首先要说明该方法运行在Android 15 API Level为3以上才可以,同时需要权限
ActivityManager am = (ActivityManager)getSystemService (ContextACTIVITY_SERVICE);
amrestartPackage(getPackageName());
系统会将,该包下的 ,所有进程,服务,全部杀掉,就可以杀干净了,要注意加上
<uses-permission android:name=\"androidpermissionRESTART_PACKAGES\"></uses-permission>
3 根据Activity的声明周期
我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标 志 IntentFLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。
在A窗口中使用下面的代码调用B窗口
Intent intent = new Intent();
intentsetClass(Android123this, CWJclass);
intentsetFlags(IntentFLAG_ACTIVITY_CLEAR_TOP); //注意本行的FLAG设置
startActivity(intent);
接下来在B窗口中需要退出时直接使用finish方法即可全部退出。
4自定义一个Actiivty 栈,道理同上,不过利用一个单例模式的Activity栈来管理所有Activity。并提供退出所有Activity的方法。
以上就是关于安卓怎么样完全退出应用程序程序全部的内容,包括:安卓怎么样完全退出应用程序程序、如何像Android手机中的应用程序管理直接结束程序!!!如题 谢谢了、Android如何退出整个程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)