我是android开发的新手。这是我的代码
boolean isReachable = false;
try{
isReachable = InetAddress.getByName(MyIPAddress).isReachable(reachableTimeout);
} catch (Exception e){
Log.e("InetAddress", e.getMessage());
}finally {
if (!onlyReachables || isReachable) {
// Do something
}
}
当AndroidManifest.xml
没有这些行
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
如果有,我的应用&#34;很遗憾,myApp已停止&#34;
任何人都可以帮忙修复它吗?
我的Logcat:
E/AndroidRuntime(9310): FATAL EXCEPTION: main
E/AndroidRuntime(9310): java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.thesis.wifihotspot/com.thesis.wifihotspot.MainActivity}:
java.lang.NullPointerException: println needs a message
E/AndroidRuntime(9310): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
E/AndroidRuntime(9310): at
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
E/AndroidRuntime(9310): at
android.app.ActivityThread.access$700(ActivityThread.java:140)
E/AndroidRuntime(9310): at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
E/AndroidRuntime(9310): at
android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(9310): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(9310): at
android.app.ActivityThread.main(ActivityThread.java:4921)
E/AndroidRuntime(9310): at
java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(9310): at
java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(9310): at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
E/AndroidRuntime(9310): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
E/AndroidRuntime(9310): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(9310): Caused by: java.lang.NullPointerException:
println needs a message
E/AndroidRuntime(9310): at android.util.Log.println_native(Native Method)
E/AndroidRuntime(9310): at android.util.Log.e(Log.java:297)
E/AndroidRuntime(9310): at
com.thesis.wifihotspot.MainActivity.setClientsList(MainActivity.java:226)
E/AndroidRuntime(9310): at
com.thesis.wifihotspot.MainActivity.onCreate(MainActivity.java:58)
E/AndroidRuntime(9310): at
android.app.Activity.performCreate(Activity.java:5206)
E/AndroidRuntime(9310): at
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
E/AndroidRuntime(9310): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
E/AndroidRuntime(9310): ... 11 more
更新 根据此link,如果在用户界面线程中访问网络,则在Android 3.0(Honeycomb)中,StrictMode被配置为与NetworkOnMainThreadException异常一起崩溃。所以我需要添加这些代码才能使应用程序正常运行。
StrictMode.ThreadPolicy policy = new StrictMode。 ThreadPolicy.Builder()permitAll()建立()。; StrictMode.setThreadPolicy(政策);
感谢您的支持。
答案 0 :(得分:0)
这可能与您的问题无关,但如果您拥有IP地址,则应使用getByAddress
而不是getByName
。
isReachable = InetAddress.getByAddress(MyIPAddress).isReachable(reachableTimeout);
修改强>
你有一个没有任何消息的例外。
首先,删除e.getMessage()
。
然后,如果您需要解决问题,请显示更多代码。