1后面添加了一个菜单返回功能键,这个方法也只能用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;
}
2这样太不方便,每次退出界面之后应用程序还在运行,
网上提供了几种方法,将下面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();
}
}
3在应用程序里面 的activity的oncreate里面添加SysApplicationgetInstance()addActivity(this)
如:
public void onCreate(Bundle savedInstanceState)
{
superonCreate(savedInstanceState);
setContentView(Rlayoutmain);
SysApplicationgetInstance()addActivity(this);
}
直接退出 写一个application 或者一个基类 写一个数组用来存放Activity 如果你要退出 就遍历这个数组 每一个activity调用finish() 即可完全退出
或者你用systemexit(0);也可以
关闭后台运行程序,三星手机可以参考以下 *** 作方法:1点击最近应用程序键-点击要关闭的应用程序右上角的“X”关闭即可(如需全部关闭,点击屏幕下方的关闭全部即可)。2智能管理器:智能管理器-内存-要停止的后台程序前面打钩-立即清理。3安装第三方软件完成后会出现“应用程序权限管理”,如不需要“自动运行”,将其保持关闭状态即可。
“长按home键显示着 ” 并不意味着此程序一定在运行。
这时候显示的是运行过的历史记录,也就是说你看到的只是history列表,并非是正在运行的程序。
当你选择清除某个程序,若程序还在运行,基本上就会被停止(这么说是因为允许有些程序声明清除时后台service可以继续保持),如果是已经停止的程序,那么就是清除一个记录而已。
正在运行的程序列表才是可靠的。
工具/原料
1、360安全卫士
2、手机管家
3、安卓优化大师
关闭手机后台程序方法一
长按手机的长按HOME键,也就是手机屏幕下中间的那个按键,这时就会手机出现手机的任务管理器,你可以选择你要关闭的程序将它拖到《垃圾箱》中这样就关闭了应用程序,你也可以点击《全部移除》这样所有运行软件就全部结束了。
END
关闭手机后台程序方法二
1
打开手机中的《设定》点击《更多》找到任务管理器。
2
进入任务管理器后《点击》你要关闭的程序,点击《强制停止》再《确定》。这样你要关闭的应用程序就结束了。
END
360手机安全卫士关闭后台程序
1
打开360安全卫士进入《手机清理》再点击《一键清理》,这样就将手机中的应用程序全部结束了。
END
安卓优化大师关闭后台程序
1
打开安卓优化大师进入《手机加速》再点击《智能加速》,这样就将手机中的应用程序全部结束了。
END
手机管家关闭后台程序
打开手机管家进入《健康优化》点击《进程管理》,如果你想结束某一个软件的应用程序你只要将你要结束应用程序勾选再点击《结束进程》,如果你想结束全部应用程序直接点击《结束进程》。
方法一、在应用上退出程序
现在很多软件游戏在退出后是不会在后台继续运行的,像这类应用只需在应用界面点击手机“返回键”两次即可退出,或者在应用设置处点击退出即可。
方法二、在手机设置里关闭程序
如果手机应用在前台关闭后仍然会运行,您也可以在手机设置里对程序进行关闭。
方法三、用第三方软件关闭程序
现在很多手机管理软件都有关闭程序的功能,像360手机卫士、腾讯手机管家、高级任务管理器之类的软件都可以实现。这里就以360手机卫士为例为大家讲解一下。
1、打开360手机卫士,在“手机加速”里找到“内存清理”并点开,如下图所示。
2、在“内存清理”页面选择需要清理的应用进程,有些如百度输入法这类常用的软件可以不用清理,然后选择“一键清理”即可,如下图所示。
1MainActivityjava
//添加自身Activity到集合,每个activity都要添加
PublicWayactivityListadd(this);
Button exit=(Button)findViewById(Ridexit);
//退出程序事件
exitsetOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//遍历Activity集合,关闭所有集合内的Activity
for(int i=0;i<PublicWayactivityListsize();i++){
if (null != PublicWayactivityListget(i)) {
PublicWayactivityListget(i)finish();
}
}
}
});
2PublicWayjava
public class PublicWay {
//存放所有的Activity
public static List<Activity> activityList = new ArrayList<Activity>();
}
此方法可以关闭所有Activity,即实现退出程序
Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A。在B中如何关闭整个Android应用程序呢本人总结了几种比较简单的实现方法。
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。
不过建议使用第一种方式来退出应用程序
以上就是关于Android 怎么退出整个应用程序全部的内容,包括:Android 怎么退出整个应用程序、android中,从A页面到B页面,在B页面通过对话框退出,想直接退出整个应用程序怎么实现、三星安卓系统怎么彻底关闭后台应用程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)