Tôi cần phải kiểm tra xem internet là có sẵn hay không trong Android, vì vậy tôi đã cố gắng sử dụng các chức năng sau:Internet kết nối kiểm tra trong Android
boolean b_IsConnect = isNetworkAvailable();
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager
.getActiveNetworkInfo();
return activeNetworkInfo != null;
}
Và tôi cũng nói thêm các điều khoản cần thiết trong biểu hiện:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
Nhưng nó vẫn ném ngoại lệ:
05-02 16:05:26.226: E/AndroidRuntime(481): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.housedisplay/com.housedisplay.RssActivity}: java.lang.SecurityException: ConnectivityService: Neither user 10038 nor current process has android.permission.ACCESS_NETWORK_STATE.
05-02 16:05:26.226: E/AndroidRuntime(481): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1736)
05-02 16:05:26.226: E/AndroidRuntime(481): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
05-02 16:05:26.226: E/AndroidRuntime(481): at android.app.ActivityThread.access$1500(ActivityThread.java:123)
05-02 16:05:26.226: E/AndroidRuntime(481): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993)
05-02 16:05:26.226: E/AndroidRuntime(481): at android.os.Handler.dispatchMessage(Handler.java:99)
05-02 16:05:26.226: E/AndroidRuntime(481): at android.os.Looper.loop(Looper.java:126)
05-02 16:05:26.226: E/AndroidRuntime(481): at android.app.ActivityThread.main(ActivityThread.java:3997)
05-02 16:05:26.226: E/AndroidRuntime(481): at java.lang.reflect.Method.invokeNative(Native Method)
05-02 16:05:26.226: E/AndroidRuntime(481): at java.lang.reflect.Method.invoke(Method.java:491)
05-02 16:05:26.226: E/AndroidRuntime(481): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
05-02 16:05:26.226: E/AndroidRuntime(481): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
05-02 16:05:26.226: E/AndroidRuntime(481): at dalvik.system.NativeStart.main(Native Method)
05-02 16:05:26.226: E/AndroidRuntime(481): Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10038 nor current process has android.permission.ACCESS_NETWORK_STATE.
05-02 16:05:26.226: E/AndroidRuntime(481): at android.os.Parcel.readException(Parcel.java:1322)
05-02 16:05:26.226: E/AndroidRuntime(481): at android.os.Parcel.readException(Parcel.java:1276)
05-02 16:05:26.226: E/AndroidRuntime(481): at android.net.IConnectivityManager$Stub$Proxy.getActiveNetworkInfo(IConnectivityManager.java:446)
05-02 16:05:26.226: E/AndroidRuntime(481): at android.net.ConnectivityManager.getActiveNetworkInfo(ConnectivityManager.java:256)
05-02 16:05:26.226: E/AndroidRuntime(481): at com.housedisplay.RssActivity.isNetworkAvailable(RssActivity.java:218)
05-02 16:05:26.226: E/AndroidRuntime(481): at com.housedisplay.RssActivity.onCreate(RssActivity.java:59)
05-02 16:05:26.226: E/AndroidRuntime(481): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
05-02 16:05:26.226: E/AndroidRuntime(481): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
bạn có thể cho tôi biết những gì happe ning ở đây?
Câu hỏi ngớ ngẩn, nhưng bạn có quyền ở phần bên phải của tệp kê khai không? Như trong, trước thẻ? –
'' thiếu dấu gạch chéo cuối. Có thể gây ra vấn đề phân tích cú pháp XML, tôi không chắc chắn, nhưng nó phải có một dấu gạch chéo kết thúc anyways. –
@ Sandervan'tVeer vâng tôi đã làm cho nó trong thẻ ứng dụng ot bên ngoài và một số câu hỏi ngớ ngẩn cũng dạy rất nhiều thứ – user1343673