【问题标题】:ANDROID : Unable to set action in CONNECTIVITY_CHANGE in my serviceANDROID:无法在我的服务中设置 CONNECTIVITY_CHANGE 操作
【发布时间】:2014-10-27 23:26:58
【问题描述】:

我有一项服务,我想注册广播操作 CONNECTIVITY_CHANGE (android.net.conn.CONNECTIVITY_CHANGE) 以更新我的在线状态。我是按以下方式做的

服务创建方法

final IntentFilter theFilter = new IntentFilter();
theFilter.addAction(android.net.conn.CONNECTIVITY_CHANGE);

this.ConnStateReceiver = new BroadcastReceiver() {

         @Override
         public void onReceive(Context context, Intent intent) {
         // Do whatever you need it to do when it receives the broadcast
         // Example show a Toast message...
    }
};

但在编译时它无法识别我的 android.net.conn.CONNECTIVITY_CHANGE 中的 android.net.conn 部分。它显示了一些包装问题。请帮我解决这个问题。由于我正在动态注册广播接收器,我认为无需在清单文件中提及它。请给我建议。我被困在这里了。

【问题讨论】:

  • 为什么要投反对票?这个问题有什么问题?你为什么不能简单地回答这个问题?如果您投反对票..那么请给一些cmets您这样做的原因....

标签: android service broadcastreceiver


【解决方案1】:

尝试使用:

theFilter.addAction(android.net.ConnectivityManager.CONNECTIVITY_ACTION);

【讨论】:

    【解决方案2】:

    我不知道你是否还需要这个解决方案,但是 IntentFilter.addAction() 接收到一个字符串,所以如果你将带有名称的字符串传递给它,它就可以工作:

    theFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
    

    我同意有人无故粗鲁地投票否决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-13
      • 2014-06-15
      • 1970-01-01
      • 1970-01-01
      • 2018-03-31
      • 2013-03-26
      • 2018-05-24
      • 1970-01-01
      相关资源
      最近更新 更多