2012-02-05 83 views
0

Android應用使用wifimanager我具有如在OnTouch事件

public class LearningMap extends Activity implements OnTouchListener 

它的onTouch方法內定義中定義的一個類。

我特林通過調用使用wifimanager:

myWifiManager.startScan(); 

我定義

myWifiManager = (WifiManager) getBaseContext().getSystemService(Context.WIFI_SERVICE); 

onCreate

裏面我有以下錯誤

02-05 23:51:21.136:E/AndroidRu n時間(17542): 顯示java.lang.NullPointerException

在該行我曾經myWifiManager.startScan();內部OnTouch方法

我該怎麼辦?

回答

0

權限怎麼樣?你添加了INTERNET,ACCESS_NETWORK_STATECHANGE_WIFI_STATE

+0

感謝您的回答。我已經想通了。我應該在我的視圖類中使用setontouchlistener而不是在監聽器類 – Idiot 2012-02-13 13:54:05

0

嘗試捕捉並記錄異常,它很可能會告訴您是否缺少任何權限。

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 

try 
{ 
    wifiManager.startScan(); 
} 
catch(SecurityException e) 
{ 
    Log.e("WifiTest", e.getMessage(), e); 
} 

在logcat的第一個例外線很可能是這樣的

02-05 19:13:24.065:E/WifiTest(19131):WifiService:既不用戶10123個 也不當前進程android.permission.CHANGE_WIFI_STATE

這可以通過requesting the correct permissions from your manifest輕鬆解決。

請注意,通過getScanResults()檢索掃描結果(您最有可能想要執行的操作)還需要android.permission.ACCESS_WIFI_STATE權限。

+0

謝謝我設置了權限。我已經想通了 – Idiot 2012-02-13 13:55:54