2012-02-05 72 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