1.5-2.1之前都是 ActivityManager activityManager =
(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.restartPackage("包名"); 就搞定了。 但2.2就不行,只是把后台数据清空了,没有关闭页面,导致null异常。 解决方案: 步骤1:
/**
* activityList:所有activity对象,用于退出时全部finish; Activity走onCreate时,添加到该集合
*/
public static List<Activity> activityList = new ArrayList<Activity>(); 步骤2:
/**
* 页面初始化
*
* @param savedInstanceState
*/
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState); activityList.add(this); 步骤3:
/**
* 退出客户端。
*
* @param context 上下文
*/
public static void exitClient(Context context)
{
Log.d(TAG, "----- exitClient -----");
// 关闭所有Activity
for (int i = 0; i < activityList.size(); i++)
{
if (null != activityList.get(i))
{
activityList.get(i).finish();
}
}
ActivityManager activityManager =
(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.restartPackage("com.huawei.softclient.mtvclient");
System.exit(0);
}
这里要加System.exit(0); 该方法经过专业测试已经通过。 当时搞这东西害得我头大了几天,主要是资料太少了,只能自己研究。真是研究生啊。。。
----------------------------------------------------------------------------------------------------------------------
很多网友不知道,Android应用如何完全退出,此前Android123讲过了三种比较常见的方法,参考 Android程序完全退出的三种方法 一文,但是有的网友可能发现Android 2.2中即使使用了Google最新给出的Android 2.2新增API killBackgroundProcesses 方法也无法实现。在J2SE中我们可能使用System.exit(0); 退出,那么我们提到的5种常规方法都无法完全退出怎么办呢?
  今天Android开发网给出大家第六种非常规方法,制造异常退出。
  1. 首先我们可以制造一个空指针的异常,比如TextView.setText方法中执行一个int型的内容,由于setText方法重载了 R.string.xxx这样的资源int型内容,但是我们没有声明这个资源,仅仅把String写成了int的值,就会产生一个异常,这时系统 Dalvik VM会直接关闭你的进程,这招十分有效,CWJ一般平时不公布给大家。
  2. 但是有的网友说了,有Force Close的对话框怎么办,其实我们通过重写Android应用程序的Application基类自己实现 Thread.UncaughtExceptionHandler接口的uncaughtException方法是可以避免出现FC窗口的,用户感觉直接退出了一样。

更多相关文章

  1. webView中js调用android方法一调用程序就退出是怎么回事
  2. Android(安卓)2.2关闭所有Activity完全退出程序方法
  3. [置顶] Android(安卓)CardView简单使用方法
  4. android coding style
  5. 最新版Android(安卓)Studio环境配置、安装步骤和问题解决
  6. WorkManager流程分析和源码解析
  7. Android以最省内存的方式读取本地资源的方法
  8. android UI相关
  9. android stuidio 学习总结1

随机推荐

  1. 【译】Google官方推出的Android架构组件
  2. Android跨进程通信之AIDL(四)
  3. Android活动启动模式
  4. 独立Android开发者开发app如何盈利
  5. Android之Menu菜单详解
  6. Anbox?????_Android
  7. 利用HTML5开发Android笔记(中篇)
  8. 回顾 android 1.6下的 virtual key
  9. [置顶] [小代码]连接MySQL数据库(android,p
  10. Android编译环境