标签:android应用 broadcastreceiver
dialog的代码是一个登陆状态异常后弹出,让强制重新登录的弹窗:
AlertDialog.Builder builder = new AlertDialog.Builder( getActivity(), android.R.style.Theme_Holo_Light_Panel); builder.setMessage("登录异常,请点退出重新登录"); builder.setPositiveButton("退出", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog,int which) { Intent intent = new Intent(getActivity(),LoginActivity.class); startActivity(intent); } }); builder.setCancelable(false);//设置不可点击back关闭dialog builder.show();然后还要写不让点击back的代码:
//重写back键当Dialog设置为builder.setCancelable(false);时back不执行 public boolean dispatchKeyEvent(android.view.KeyEvent event) { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_BACK: { return false; } } return true; };以上就是dialog不可点击back退出的代码
在写项目的时候遇到了activity启动多个,然后在后边的activity中需要一次性退出的问题。网上有说用
@Override protected void onResume() { super.onResume(); IntentFilter inFilter=new IntentFilter(); inFilter.addAction("finish");//接收的广播名称 registerReceiver(bReceiver, inFilter);动态广播内部类:
//退出广播 private BroadcastReceiver bReceiver=new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { finish(); } };
//我是写在了需要退出的这个activity的back按钮这里 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (BaseConfig.quicklogin == 1) { Intent intent=new Intent(); intent.setAction("finish"); sendBroadcast(intent); } return super.onKeyDown(keyCode, event); }这样在这个activity中。点击back的时候就直接退出了这个应用,而不是一层层返回。
弹出dialog后不可点击back返回,用广播退出所有activity
标签:android应用 broadcastreceiver
原文地址:http://blog.csdn.net/sinat_23134455/article/details/45822377