Android 双击返回键退出应用程序
来源:互联网 发布:12377网络举报有用吗 编辑:程序博客网 时间:2024/06/04 19:42
前言
需要实现类似于主流的退出功能,连续按两次返回键退出应用程序。
方案
先上代码:
import android.app.Activity;import android.os.Handler;import android.os.Looper;import android.view.KeyEvent;import android.widget.Toast;/** * 双击退出 * * @author wxm * */public class DoubleClickExitHelper {private final Activity mActivity;private boolean isOnKeyBacking;private Handler mHandler;private Toast mBackToast;public DoubleClickExitHelper(Activity activity) {mActivity = activity;mHandler = new Handler(Looper.getMainLooper());}/** * Activity onKeyDown事件 * */public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode != KeyEvent.KEYCODE_BACK) {return false;}if (isOnKeyBacking) {mHandler.removeCallbacks(onBackTimeRunnable);if (mBackToast != null) {mBackToast.cancel();}mActivity.finish();return true;} else {isOnKeyBacking = true;if (mBackToast == null) {}mHandler.postDelayed(onBackTimeRunnable, 2000);return true;}}private Runnable onBackTimeRunnable = new Runnable() {@Overridepublic void run() {isOnKeyBacking = false;if (mBackToast != null) {mBackToast.cancel();}}};}然后调用方法:
private DoubleClickExitHelper doubleClickExitHelper;@Overrideprotected void onCreate(Bundle savedInstanceState) {doubleClickExitHelper = new DoubleClickExitHelper(this);}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK&& event.getAction() == KeyEvent.ACTION_DOWN) {Toast.makeText(this, getString(R.string.back_exit_tips),Toast.LENGTH_SHORT).show();return doubleClickExitHelper.onKeyDown(keyCode, event);}return true;}
0 0
- Android 双击返回键退出应用程序
- Android双击返回键(Back)退出应用程序
- Android双击返回键退出
- Android 双击返回键退出
- Amdroid双击返回键实现退出应用程序
- 双击返回键退出应用程序的方法
- 【Android】双击返回键,退出android应用程序 双击两次退出程序提示功能 三种实现方法
- Android双击退出应用程序
- 双击返回退出 android
- android 双击返回退出
- Android 双击返回键退出程序 实现
- ANDROID双击返回键退出ACTIVITY
- Android双击返回键退出Activity
- Android双击返回键退出程序代码
- Android 双击返回键退出程序 实现
- Android 双击返回键退出程序 实现
- Android 双击返回键退出程序 实现
- Android 双击返回键退出程序 实现
- hibernate中的所锁
- JS中的!=、== 、!==、===的用法和区别
- 网卡驱动和队列层中的数据包接收
- TCP的拥塞控制
- java int转String所有方式的效率对比与深入解析
- Android 双击返回键退出应用程序
- webservice框架
- 一个像素转换工具类的实现——dp,px,sp之间的相互转换
- spring中的cron表达式
- 关于typedef的用法总结
- 使用Euclidean法求乘法逆
- 空心三角形
- [C++]bitset用int数组实现
- leetcode 337. House Robber III-动态规划|Java|Python简洁高效