BroadcastReceiver和wifiState

时间:2013-08-27 20:05:30

标签: android broadcastreceiver

我正在编写一个需要接收wifi状态修改的应用程序。为此,我编写了一个类TestReceiver,它扩展了BroadcastReceiver,现在,在Log.i上编写。 接收方已通过AndroidManifest注册:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.lazooo.wifi_finder_service">
<uses-sdk android:minSdkVersion="14"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
    <user-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <user-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <receiver android:name=".TestReceiver">
        <intent-filter>
            <action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
            <action android:name="android.net.wifi.STATE_CHANGE"/>
        </intent-filter>
    </receiver>
</application>

我的TestReceiver是:

package com.lazooo.wifi_finder_service;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;

public class TestReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    Log.i("BroadcastApplication", "ricevuto capo");
    Toast.makeText(context, "ciao", Toast.LENGTH_LONG).show();
}
}

问题是它不起作用,当我打开/关闭wifi时它什么都不做。我错过了什么?

1 个答案:

答案 0 :(得分:0)

调试并查看是否正在发送任何内容。如果发送正常并且您仍然没有收到消息,我的经验是,使用wifi,防火墙问题可能会启动并且不会收到消息。任何类型的通知似乎都可以更好地与数据连接。