我有一个BroadcastReciever和一个服务。当建立互联网连接时,它必须开始下载一些数据的服务。广播接收器不工作。声明在清单
我的广播接收器
public class NetworkStateListener extends BroadcastReceiver
{
@Override
public void onReceive(Context c, Intent intent)
{
Toast.makeText(c,"started",Toast.LENGTH_SHORT).show();
c.startService(new Intent(c,DataDownloader.class));
// TODO: Implement this method
}
}
这里是清单的部分代码...
<receiver android:name="com.Example.SGSN.worker.NetworkStateListener"
android:enabled="true">
<intent-filter android:priority="999">
<action android:name="android.net.wifi.WifiManager.NETWORK_STATE_CHANGED_ACTION"/>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
<action android:name="android.net.wifi.WifiManager.SUPLICANT_STATE_CHANGED_ACTION"/>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
,并要求权限...
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
甚至不是一个单一的动作得到了触发。我不知道我犯了什么错误。我也寻找答案,但我的问题没有解决。 当我在活动中动态注册它时,BroadcastReceiver将工作。我需要它在后台。有人请帮忙。
为什么你使用那个 - “android:process =”:channel“'? – Divers
我不知道究竟是什么,我在教程视频中看到它。 –
您在接收器中输入错误=>接收器 – Jaythaking