Android之退出整个应用方法之二
2016-02-24 14:33
411 查看
前面跟大家分享了通过建立Activity堆栈列表,把所有Activity通过继承基类或调用函数的方式记录下来,退出时逐一finish;今天再跟大家分享一下通过使用广播机制退出整个应用,我们首先自定义一个抽象的MyActivity继承系统的Activity,然后在这个自定义的MyActivity中添加退出的方法,然后在整个应用中的所有Activity都继承我们自定义的MyActivity,当我们需要完全退出的时候,就可以调用这个close()方法,实现完全退出,个人感觉比之前的那个方法更实用,更方便,
好了,废话不多说,直接分享核心代码(Attribute.PAGENAME为自定义的action):
[java] view
plain copy
public abstract class MyActivity extends Activity {
// 写一个广播的内部类,当收到动作时,结束activity
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
close();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 在onCreate中注册广播
IntentFilter filter = new IntentFilter();
filter.addAction(Attribute.PAGENAME);
registerReceiver(this.broadcastReceiver, filter); // 注册
}
/**
* 关闭
*/
public void close() {
Intent intent = new Intent();
intent.setAction(Attribute.PAGENAME); // 说明动作
sendBroadcast(intent);// 该函数用于发送广播
finish();
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(broadcastReceiver);// 在onDestroy注销广播。
}
}
好了,废话不多说,直接分享核心代码(Attribute.PAGENAME为自定义的action):
[java] view
plain copy
public abstract class MyActivity extends Activity {
// 写一个广播的内部类,当收到动作时,结束activity
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
close();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 在onCreate中注册广播
IntentFilter filter = new IntentFilter();
filter.addAction(Attribute.PAGENAME);
registerReceiver(this.broadcastReceiver, filter); // 注册
}
/**
* 关闭
*/
public void close() {
Intent intent = new Intent();
intent.setAction(Attribute.PAGENAME); // 说明动作
sendBroadcast(intent);// 该函数用于发送广播
finish();
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(broadcastReceiver);// 在onDestroy注销广播。
}
}
相关文章推荐
- View事件分发源码分析
- Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
- Android之退出整个应用方法之一
- ios和Android的远程调试(Remote Debugging)
- Activity之间传递数据
- Android util 整理篇(二)对TextView中文字体加粗
- android 接受一个类对象的操作代码
- Android之ListView中的分割线
- Android权限
- android开发工具使用记录
- android 限定Mtp映射目录大小
- android studio快捷键
- Android studio插件开发实战(4)-CodeGenerator插件开发
- Android之项目全局变量的定义
- android 获取当前的activity
- android 将数据以文件的形式保存进sd卡并调用系统所装软件打开
- Android完美解决GridView异步加载图片和加载大量图片时出现OOM
- android将xml文档中自定义标签中的内容取出
- android、webview、js交互
- Android刷ROOT原理及小案例