2011-10-26 88 views
1

我正在忙着編寫一個小程序,在我的3.1蜂窩選項卡和我的2.3.5薑餅手機上自動運行我的wifi。WifiManager.setWifiEnabled在蜂窩上無法正常工作

一切工作在手機上很好,但是當我的應用程序試圖禁用我的wifi蜂窩它fc的。

我的應用程序基本上設置和報警,以觸發一個自定義廣播,然後由我的廣播接收器捕獲。我可以確認廣播被觸發並且是咳嗽,但它看起來似乎是honeycomb在運行.setWiFiEnabled(false)時拋出運行時異常。我已檢查權限,他們看起來正確。 (這是在GB工作)。

這裏是我的一些代碼,嘗試和更好地解釋。

清單

<uses-sdk android:minSdkVersion="7" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> 
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <receiver android:name="WiFiOffDoerReceiver" android:enabled="true"> 
     <intent-filter> 
      <action android:name="za.co.cjoliver.WIFIOFFDOER"/> 
     </intent-filter> 
    </receiver> 

代碼

import android.app.AlarmManager; 
import android.app.Notification; 
import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.net.wifi.WifiManager; 
import android.util.Log; 

public class WiFiOffDoerReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 
    Log.d("WiFi Beater3", "in WiFiOffDoerReceiver.onReceive"); 
    WifiManager myWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 
    myWifiManager.setWifiEnabled(false); 
} 

}

讓我說謝謝你已經爲任何幫助。

回答

1

I'mot確定到底是你發出什麼,但它還是聽起來像它有事情做與你的ROM,如果它不紮根,等

另一種可能是你使用的API。 HC是否需要與GB不同的版本?

我不認爲這是你的代碼,所以如果你無法弄清楚,試着提供有關標籤和手機之間的區別(除了明顯的)之外的信息。

只是一個預感,所以我很抱歉,如果它的基地。

祝你好運!

+0

兩者都在運行自定義ROM。將恢復到股票和再次測試。一旦我測試過,會更新。謝謝 – user1013996