如何解决Android 错误 java.lang.RuntimeException:接收广播 Intent
我目前正在做一个项目,但我一直遇到错误
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 举报,一经查实,本站将立刻删除。