2

FragmetのCONNECTIVITY_SERVICEのコンテキストはどうなりますか?getActivityもチェックしましたが、エラーが発生します。

public boolean isOnline() {
            ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            try {
                if (connectionManager.getActiveNetworkInfo().isConnected()) {
                    Log.d("ConStatus", "Data Connection On");
                    return true;
                } else {
                    Log.d("ConStatus", "Data Connection off");
                    return false;
                }
            } catch (NullPointerException e) {
                Log.i("ConStatus", "No Active Connection");
                return false;
            }
        }
4

2 に答える 2

4

getSystemService()のメソッドContextです。AFragmentはそれを使用して呼び出すでしょうgetActivity()

getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
于 2012-10-26T06:29:27.303 に答える
0

フラグメント内にGoogleマップオフラインタイルプロバイダーを実装しようとしたときに、同様の問題に直面しました(ここでの0ne_Upの回答に基づく)。私は以下を使用してそれを解決しました:

private ConnectivityManager connectivityManager;
...
connectivityManager = (ConnectivityManager) getActivity().
    getSystemService( getActivity().CONNECTIVITY_SERVICE );
于 2022-01-19T08:06:48.393 に答える