我正在编写一个需要接收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时它什么都不做。我错过了什么?
答案 0 :(得分:0)
调试并查看是否正在发送任何内容。如果发送正常并且您仍然没有收到消息,我的经验是,使用wifi,防火墙问题可能会启动并且不会收到消息。任何类型的通知似乎都可以更好地与数据连接。