Android App中连续点击Back键退出应用
发布时间:2020-05-24 21:11:50 所属栏目:Java 来源:互联网
导读:Android App中连续点击Back键退出应用
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 public class DoubleClickExitApp {
private Context mcontext;
/**是否是再次点击back键*/
private boolean isOnKeyBack;
private Handler mHandler;
/**退出提示Toast*/
private Toast mExitToast;
public DoubleClickExitApp(Context context) {
this.mcontext = context;
this.mHandler = new Handler(Looper.getMainLooper());
}
/**所在Activity中的点击返回事件处理*/
public boolean onKeyDown(int keyCode,KeyEvent event) {
if(keyCode != KeyEvent.KEYCODE_BACK) {//如果不是点击的返回键,则返回false
return false;
}
if(isOnKeyBack) {
mHandler.removeCallbacks(onBackExitRunnable);
if(mExitToast != null){
mExitToast.cancel();
}
/**直接退出*/
AppManager.getAppManager().AppExit(mcontext);
return true;
} else {
isOnKeyBack = true;
if(mExitToast == null) {
mExitToast = Toast.makeText(mcontext,"再按一次返回键退出应用",Toast.LENGTH_SHORT);
}
mExitToast.show();
mHandler.postDelayed(onBackExitRunnable,2000);
return true;
}
}
private Runnable onBackExitRunnable = new Runnable() {
@Override
public void run() {
isOnKeyBack = false;
if(mExitToast != null){
mExitToast.cancel();
}
}
};
}
然后在对应的Activity或是主页面中直接调用: public class MainActivity extends Activity{
private DoubleClickExitApp mDoubleClickExitApp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDoubleClickExitApp = new DoubleClickExitApp(this);
} @Override protected void onDestroy() { super.onDestroy(); } /**在处理onKeyDown事件中调用我们写的工具类方法就可以*/ @Override public boolean onKeyDown(int keyCode,KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { return mDoubleClickExitApp.onKeyDown(keyCode,event); }else{
return super.onKeyDown(keyCode,event);
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
