zoukankan      html  css  js  c++  java
  • android使用广播退出应用程序

    由于在(Widget或Service、BroadcastReceiver中)使用startActivity()方法启动activity时需使用FLAG_ACTIVITY_NEW_TASK flag,所以在BaseActivity中使用setresult标记退出时不能完全退出应用程序(只能关闭通过广播打开的activity以及之后打开的activity)。

      因此本文设计使用广播退出应用程序:

    1、在退出事件中发送退出广播

    Intent intent = new Intent();
    intent.setAction("com.android.exitapp");
    baseActivity.sendBroadcast(intent);

    2、在BaseActivity中注册广播

    private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {

      @Override
      public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        if (intent.getAction().equals("com.android.exitapp")) {
          finish();
        }
      }
    };

    @Override
    protected void onResume() {
      // TODO Auto-generated method stub
      super.onResume();
      IntentFilter filter = new IntentFilter();
      filter.addAction(SystemConst.EXIT_APP);
      this.registerReceiver(this.broadcastReceiver, filter);
    }

    通过此法就可以退出所有activity了。

  • 相关阅读:
    RPC简介
    RabbitMQ从入门到精通
    flask 源码解析:响应
    flask 源码解析:请求
    flask 源码解析:上下文
    flask 源码解析:应用启动流程
    flask 源码解析:路由
    flask源码分析—简介
    11-Docker网络扩展
    10-Docker之Docker-Compose
  • 原文地址:https://www.cnblogs.com/diyishijian/p/4638059.html
Copyright © 2011-2022 走看看