我有很多活动,并且我在manifest中注册了broadCastReceiver以检查Connectivity。 我想秀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 –