接続を制御するクラスがあります。
BroadcastReceiver
Androidの起動時に開始する自動スターターがあります
BroadcastReceiver
を呼び出しますservice
。クラスをservice
呼び出すConnectivity
boolean state=Connectivity.isConnected(this);
クラスContext
でエラーが発生しますConnectivity
getApplicationContext();
を取得するために使用する場合もContext
。Null 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を使用すると問題が解決しました