2013-08-27 20 views
0

我在寫一個需要接收wifi狀態修改的應用程序。爲此,我寫了一個類TestReceiver,它擴展了BroadcastReceiver,現在寫在Log.i上。 接收器已通過AndroidManifest被註冊資格:BroadcastReceiver和wifiState

<?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

看起來你的TestReceiver如何?你有沒有合適的包裝? – Sajmon

+0

@Sajmon我已經編輯我的職務 – litiales

+0

它看起來不錯嘗試改變清單以'機器人:名字=「com.lazooo.wifi_finder_service.TestReceiver' – Sajmon

回答

0

調試並查看是否有任何內容正在發送。如果發送情況良好,但您仍然沒有收到消息,我的經驗是,使用無線網絡時,防火牆問題可能會觸發,並且不會收到消息。任何類型的通知似乎都能更好地處理數據連接。

+0

你是什麼意思,我應該怎麼檢查? – litiales