이 주제는 이미 여기에 있습니다.하지만 내 코드가 expectd로 작동하지 않는 이유를 모르겠습니다. 내 앱을 시작할 때 데이터 연결을 확인해야하지만 일부 태블릿에서는 (Nexus 7처럼) 충돌하지만 전부는 아닙니다.일부 태블릿에서 Android 체크 네트워크 연결이 끊어졌습니다.
는내 코드 :
는public static boolean getNetworkState(Context pContext)
{
ConnectivityManager connect = (ConnectivityManager)pContext.getSystemService(Context.CONNECTIVITY_SERVICE);
if(connect != null)
{
if (connect.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting())
{
return true;
}
else
{
return false;
}
}
else
return false;
}
public static boolean getWifiState(Context context)
{
ConnectivityManager connect = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connect.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting())
{
return true;
}
else
{
return false;
}
}
연결 검사 :
는 는if(Commons.getNetworkState(this) || Commons.getWifiState(this))
{
loadData();
}
else
{
Commons.getConnectivityErrorMessage(this);
}
는 는 일반적으로는 네트워크 연결이 태블릿에서 지원되지 않는 경우, "getNetworkState"에서 "연결"개체가 null이 될해야하지만 것 같습니다
온라인상에서 추락했기 때문에 그렇지 않습니다.
if (connect.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting())
여기에 무슨 문제가 있습니까? 권한이 이미 작성되었습니다.
EDIT : 불행히도이 문제를 테스트 할 태블릿이 없습니다. 개발자 콘솔에 대한 사용자 보고서가 있습니다.
java.lang.RuntimeException: Unable to resume activity {com.meteociel.fr/com.meteociel.fr.activities.MeteocielActivity}: java.lang.RuntimeException: Unable to resume activity {com.meteociel.fr/com.meteociel.fr.activities.HomeActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2575)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2603)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2089)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: Unable to resume activity {com.meteociel.fr/com.meteociel.fr.activities.HomeActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2575)
at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:178)
at android.app.LocalActivityManager.dispatchResume(LocalActivityManager.java:523)
at android.app.ActivityGroup.onResume(ActivityGroup.java:61)
at com.meteociel.fr.activities.MeteocielActivity.onResume(MeteocielActivity.java:69)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1184)
at android.app.Activity.performResume(Activity.java:5082)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2565)
... 12 more
Caused by: java.lang.NullPointerException
at com.meteociel.fr.classes.Commons.getNetworkState(Commons.java:36)
at com.meteociel.fr.activities.HomeActivity.onResume(HomeActivity.java:98)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1184)
at android.app.Activity.performResume(Activity.java:5082)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2565)
... 19 more
편집 2 : 다음 보고서가 넥서스 7을 가진 사용자에 의해보고되었다 내가 사용하는 모든 권한 :
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
게시자 게시물 –
허가? – Shiva
Add는'connect.getNetworkInfo (...)'의 결과가'null'이 아닌지 확인하기 위해 추가 검사를 추가합니다. 이는 충돌의 기원 인 것으로 솔직하게 말하면 주어진 네트워크 유형에 대한 정보가 전혀 없으면 'null'이되는 것이 합리적입니다. –