私は多くのアクティビティを持っていますが、私はチェック接続のためにマニフェストに登録したbroadCastReceiverを持っています。 私はインターネット接続 を失ったとき、私はマニフェストで私のレシーバを登録し、現在活動中のショーSnackbar
をしたいと思います:現在のアクティビティにSnackBarを表示
<receiver android:name="com.itmind.spac.spacapp.services.ConnectivityChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
とブロードキャストクラス:
public class ConnectivityChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
ConnectivityManager cm =(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm.getActiveNetworkInfo()!=null){
Toast.makeText(context, "Connected to Internet", Toast.LENGTH_LONG).show();
}
else{
/** I WOULD CREATE A SNACKBAR FOR ALL ACTIVITIES, OR FOR MY CURRENT ACTIVITY */
Toast.makeText(context, "No Connected to Internet", Toast.LENGTH_LONG).show();
}
}
}
見てください:http://stackoverflow.com/questions/2513832/how-to-send-data-from-broadcastreceiver-to-an-activity-in-android –