0

接続を制御するクラスがあります。

BroadcastReceiverAndroidの起動時に開始する自動スターターがあります

BroadcastReceiverを呼び出しますservice。クラスをservice呼び出すConnectivity

boolean state=Connectivity.isConnected(this);

クラスContextでエラーが発生しますConnectivity

getApplicationContext();を取得するために使用する場合もContextNull pointerアクティビティが機能していないため、エラーが発生します

私は持っているだけservicesで、何も持っていませんactivity。アプリケーションはバックグラウンドで動作する必要があります

どうすれば問題を解決できますか ありがとう

public class Connectivity {

    /**
     * Get the network info
     * @param context
     * @return
     */
    public static NetworkInfo getNetworkInfo(Context context){
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        return cm.getActiveNetworkInfo();
    }

    /**
     * Check if there is any connectivity
     * @param context
     * @return
     */
    public static boolean isConnected(Context context){
        NetworkInfo info = Connectivity.getNetworkInfo(context);
        return (info != null && info.isConnected());
    }

編集:BroadcastReceiver Contextを使用すると問題が解決しました

4

0 に答える 0