android 监听一些系统的广播可以帮助我们做很多事情 比如 启动应用,app数据同步,闹钟提醒等等
广播 监听网络 启动应用
manifest
<receiver android:name=".MyReceiver" android:enabled="true" android:exported="true" > <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE"></action> </intent-filter> </receiver>
1 public class MyReceiver extends BroadcastReceiver { 2 public MyReceiver() { 3 } 4 5 @Override 6 public void onReceive(Context context, Intent intent) { 7 8 ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 9 NetworkInfo mobileInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 10 NetworkInfo wifiInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 11 NetworkInfo activeInfo = manager.getActiveNetworkInfo(); 12 if((mobileInfo.isConnected() || wifiInfo.isConnected()) && activeInfo != null) { 13 Intent intent1 = new Intent(context,MainActivity.class); 14 intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 15 context.startActivity(intent1); 16 } 17 Toast.makeText(context,"网络变化",Toast.LENGTH_LONG).show(); 18 } 19 }
但是监听这也系统的广播也是很浪费系统资源的。