ANDROID:无法在我的服务中的CONNECTIVITY_CHANGE中设置操作

时间:2012-02-26 10:27:36

标签: android service broadcastreceiver

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

服务OnCreate方法

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 部分。它显示出一些包装问题。请帮我解决这个问题。当我动态注册广播接收器时,我认为无需在清单文件中提及它。请建议我。我被困在这里。

2 个答案:

答案 0 :(得分:4)

尝试使用:

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

答案 1 :(得分:1)

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

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

我同意有人在没有理由的情况下粗暴地投票。