0

オーディオを再生できるように、電話でインターネット接続を確認したい。インターネット接続を確認するためにコードを書きましたが、Jellybean Nexus 7 タブレットを除くすべての Android バージョンで正常に動作します。nexus 7で強制的に閉じることを示しています。

これがチェック用の私のコードです。

private void MyCheckinternet() {
        // TODO Auto-generated method stub
        ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
            if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || 
                    connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
                //we are connected to a network
                connected = true;


            }
            else
            {
                connected = false;

    }


    }

そして、これはlogcat エラーです:

09-18 16:20:33.098: E/AndroidRuntime(3224): FATAL EXCEPTION: main 
09-18 16:20:33.098: E/AndroidRuntime(3224): java.lang.NullPointerException
09-18 16:20:33.098: E/AndroidRuntime(3224):at
com.android.twitter.Main.MyCheckinternet(Vmix_Main.java:115)
09-18 16:20:33.098:E/AndroidRuntime(3224):  at com.android.twitter.Main.access$0(Main.java:112)
09-18 16:20:33.098: E/AndroidRuntime(3224):     at
com.android.twitter.Main$3.onClick(Main.java:520)
09-18 16:20:33.098: E/AndroidRuntime(3224):     at
android.view.View.performClick(View.java:4084)
09-18 16:20:33.098: E/AndroidRuntime(3224):     at
android.view.View$PerformClick.run(View.java:16966)
09-18 16:20:33.098: E/AndroidRuntime(3224):     at
android.os.Handler.handleCallback(Handler.java:615)
09-18 16:20:33.098: E/AndroidRuntime(3224):     at
android.os.Handler.dispatchMessage(Handler.java:92)
09-18 16:20:33.098: E/AndroidRuntime(3224):     at android.os.Looper.loop(Looper.java:137)
4

1 に答える 1

0
connectivityManager

また

connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)

無効です

私の賭けは2番目のものです。その状態をテストする前に、null をテストします。(モバイルネットワークがアクティブ化されていない場合、networkInfo は null になる可能性があります)

于 2012-09-18T14:39:15.273 に答える