`
thierry.xing
  • 浏览: 668616 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
580fa9c1-4a0c-3f40-a55a-c9256ce73302
Sencha Touch中...
浏览量:0
社区版块
存档分类
最新评论

android2.2完全退出程序, 使用广播机制

阅读更多

这个问题一直困扰着我,试了n种方式,都不行,在网上搜了一圈,没有能用的:
1 ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
manager.killBackgroundProcesses("package");
不行

2 android.os.Process.killProcess(android.os.Process.myPid());
也不行

3 manager.restartPackage("package");
还是不行

于是我彻底郁闷了,今天研究了一下广播机制,发现是个好东东,能彻底解决这个问题,废话不说看代码:

首先为了方便,先写一个父类继承Activity,其他的Activity都继承此父类:

public class ApplicationActivity extends Activity {

    //写一个广播的内部类,当收到动作时,结束activity
    private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            finish();
        }
    };

    @Override
    public void onResume() {
        super.onResume();
        //在当前的activity中注册广播
        IntentFilter filter = new IntentFilter();
        filter.addAction(Const.CLOSE_ACTION);
        this.registerReceiver(this.broadcastReceiver, filter);
    }

}

 





在有退出程序方法的ApplicationActivity子类中增加close:

    public void close() {
        Intent intent = new Intent();
        intent.setAction(Const.CLOSE_ACTION); // 说明动作
        this.sendBroadcast(intent);// 该函数用于发送广播
        super.finish();
    }

 



这样当执行close时,所有继承自ApplicationActivity的activity都会执行finish方法结束掉。

 

1
2
分享到:
评论

相关推荐

    android面试题

    Android面试题涵盖了许多核心知识点,这些知识点对于理解Android应用程序的运行机制至关重要。下面将详细讨论其中涉及的一些关键概念。 1. Activity的生命周期是Android开发中的基础。Activity在生命周期中有多个...

    Android开发技巧合集.pdf

    - **关闭所有Activity**:介绍了如何一次性关闭应用程序中的所有Activity,通常用于退出应用的场景。 - **PreferenceActivity**:讲解了PreferenceActivity的用法,它主要用于构建设置页面。 - **Dialog风格的...

    Android开发技巧合集

    - **2.2 INTENTRECEIVER**:讲解了BroadcastReceiver的概念,这是一种监听系统或应用特定事件的组件,可以接收Intent广播并响应相应的动作。 - **2.3 SERVICE** - **2.3.1 什么是Service**:Service是一种在后台...

    android 面试2

    请谈谈Android引入广播机制的用意。  答:两种,一种是xml注册,一种是代码注册  xml注册的优点:方便、易读  缺点:当手机处于关机状态时,仍然可以监听到广播,不灵活  代码注册的优点:灵活,手机处于关机...

    Google Android SDK开发范例大全.docx

    - **2.2 建立第一个Android项目~HelloAndroid!** 通过创建一个简单的“HelloWorld”项目,介绍了基本的项目设置过程,包括选择项目模板、配置应用名称和包名等。 - **2.3 Android应用程序架构—从此开始** ...

    中文版Android开发指南

    综上所述,本中文版Android开发指南详细阐述了Android应用的基础框架和组件交互机制,为开发者提供了一个全面的参考,以便他们能够熟练地构建和管理Android应用程序。无论是新手还是经验丰富的开发者,都可以从中...

    Android移动应用开发基础教程第2章.pptx

    在Android移动应用开发中,活动(Activity)是构成应用程序的核心组件之一,主要负责展示用户界面并处理用户交互。本章详细介绍了活动的概念、基本操作、Intent的使用以及在活动之间传递数据的方法。 2.1 活动是...

Global site tag (gtag.js) - Google Analytics