为了账号安全,请及时绑定邮箱和手机立即绑定

一次关闭所有Activity和连续点击两次返回键关闭程序的方法

标签:
Android

最近有人问我怎么样一次关闭应用程序里所有的Activity的方法,有人说用队列存储的方式,关闭的时候,一个一个的取出再Finish掉。其实个人认为最好的方法就是通过广播的方式来进行。这样简单易懂,方便操作,很快捷。方法如下建立一个父类

首先就是建立一个父类,让所有的activity继承父类,这样就不用每次都去注册广播,只要在父类注册好就行了,代码如下:

package net.loonggg.test;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
public class BaseActivity extends Activity {
/**
* 关闭Activity的广播,放在自定义的基类中,让其他的Activity继承这个Activity就行
*/
protected BroadcastReceiver finishAppReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
};
@Override
public void onResume() {
super.onResume();
// 在当前的activity中注册广播
IntentFilter filter = new IntentFilter();
filter.addAction("net.loonggg.exitapp");
this.registerReceiver(this.finishAppReceiver, filter);
}
@Override
protected void onDestroy() {
super.onDestroy();
this.unregisterReceiver(this.finishAppReceiver);
}
}

其次就是子类的继承,让每个Activity都去继承BaseActivity。


我相信这种思路大家都能看懂,现在我们再来讲一下连续点击两次返回键退出应用程序的方法。


方法如下



/**

* 记录标记时间

*/

private long exitTime = 0;

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if (KeyEvent.KEYCODE_BACK == keyCode) {

// 判断是否在两秒之内连续点击返回键,是则退出,否则不退出

if (System.currentTimeMillis() - exitTime > 2000) {

Toast.makeText(getApplicationContext(), "再按一次退出程序",

Toast.LENGTH_SHORT).show();

// 将系统当前的时间赋值给exitTime

exitTime = System.currentTimeMillis();

} else {

exitApp();

}

return true;

}

return super.onKeyDown(keyCode, event);

}

发送广播退出程序

下边的这方法就是退出应用程序发送广播的方法:

/**
* 退出应用程序的方法,发送退出程序的广播
*/
private void exitApp() {
Intent intent = new Intent();
intent.setAction("net.loonggg.exitapp");
this.sendBroadcast(intent);
}

原文链接:http://www.apkbus.com/blog-47151-59334.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 1
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消