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

我在尝试在片段中实现谷歌地图离线图块提供程序时遇到了类似的问题(基于 0ne_Up 的回答here)。我通过使用以下方法解决了它:

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