问题描述
java.lang.RuntimeException:在 cn.ingenic.glasssync.utils.WifiAPUtils$1@428319e 中接收广播 Intent { act=android.net.wifi.WIFI_AP_STATE_CHANGED flg=0x4000010 (has extras) } 时出错
进一步阅读日志,我还看到一个空指针异常,它说:
Caused by: java.lang.NullPointerException: println 需要一条消息 01-06 10:57:26.272 12372 12372 E AndroidRuntime:在 android.util.Log.println_native(本地方法) 01-06 10:57:26.272 12372 12372 E AndroidRuntime:在 android.util.Log.e(Log.java:249) 01-06 10:57:26.272 12372 12372 E AndroidRuntime:在 cn.ingenic.glasssync.utils.WifiAPUtils.getValidApSsid(WifiAPUtils.java:225) 01-06 10:57:26.272 12372 12372 E AndroidRuntime:在 cn.ingenic.glasssync.utils.WifiAPUtils$1.onReceive(WifiAPUtils.java:202)
当我检查 WifiAPUtils.java 中的第 225 行并将其替换为有效字符串时,我收到错误
01-11 00:00:50.590 29176 29217 E AndroidRuntime:致命异常:线程 2 01-11 00:00:50.590 29176 29217 E AndroidRuntime:进程:cn.ingenic.glasssync:remote,PID:29176 01-11 00:00:50.590 29176 29217 E AndroidRuntime:java.lang.ExceptionInInitializerError 01-11 00:00:50.590 29176 29217 E AndroidRuntime:在 com.baidu.location.Jni.j(未知来源:0) 01-11 00:00:50.590 29176 29217 E AndroidRuntime:在 com.baidu.location.t$a.X(未知来源:8) 01-11 00:00:50.590 29176 29217 E AndroidRuntime:在 com.baidu.location.ae.run(未知来源:10) 01-11 00:00:50.590 29176 29217 E AndroidRuntime:由:java.lang.IllegalStateException:未找到 liblocSDK4d.so 文件,请更正设置
是否有人碰巧知道导致此错误的原因,这里是可能导致此错误的代码片段:
private broadcastReceiver mWifiStatebroadcastReceiver = new broadcastReceiver() {
@Override
public void onReceive(Context context,Intent intent) {
Log.i(TAG,"WifiAPUtils onReceive: "+intent.getAction());
if(WIFI_AP_STATE_CHANGED_ACTION.equals(intent.getAction())) {
int cstate = intent.getIntExtra(EXTRA_WIFI_AP_STATE,-1);
if(cstate == WIFI_AP_STATE_ENABLED) {
if(mHandler != null)
mHandler.sendEmptyMessage(MESSAGE_AP_STATE_ENABLED);
/*notify glass to reconnect*/
String ssid = getValidApSsid(context);
String pw = getValidPassword(context);
int security = getValidSecurity(context);
SettingModule.getInstance(context).sendWifiApInfo(ssid,pw,security);
}if(cstate == WIFI_AP_STATE_disABLED || cstate == WIFI_AP_STATE_Failed) {
if(mHandler != null)
mHandler.sendEmptyMessage(MESSAGE_AP_STATE_Failed);
}
}
}
};
public enum WifiCipherType {
WIFICIPHER_nopASS,WIFICIPHER_WPA,WIFICIPHER_WEP,WIFICIPHER_INVALID,WIFICIPHER_WPA2
}
public String getValidApSsid(Context context) {
try {
Method method = mWifiManager.getClass().getmethod("getWifiApConfiguration");
WifiConfiguration configuration = (WifiConfiguration)method.invoke(mWifiManager);
return configuration.SSID;
} catch (Exception e) {
Log.e(TAG,"testing" + e.getMessage());
return null;
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)