我有一個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