public class MainActivity extends AppCompatActivity { private NetworkStateChangeReceiver networkStateChangeReceiver; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); IntentFilter intentFilter = new IntentFilter();//创建IntentFilter实例 intentFilter.addAction("androID.net.conn.CONNECTIVITY_CHANGE");//添加action networkStateChangeReceiver = new NetworkStateChangeReceiver();//创建NetwokrStateChangeReceiver实例 registerReceiver(networkStateChangeReceiver, intentFilter);//注册广播接收器 } @OverrIDe protected voID onDestroy() { super.onDestroy(); unregisterReceiver(networkStateChangeReceiver);//动态注册的广播接收器需要取消注册 } /** * 定义NetworkStateChangeReceiver类,继承自broadcastReceiver */ static class NetworkStateChangeReceiver extends broadcastReceiver { @OverrIDe public voID onReceive(Context context, Intent intent) { //You need to call getSystemService on a Context!!! ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isAvailable()) { Toast.makeText(context, "networkInfo: is Available", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(context, "networkInfo: not Available", Toast.LENGTH_SHORT).show(); } } }}
需要在AndriodManifest.xml注册权限
<uses-permission androID:name="androID.permission.ACCESS_NETWORK_STATE" />
AndroIDStudio会自动提示,点击Add会自动添加
总结以上是内存溢出为你收集整理的android学习笔记(二) 动态注册广播例程全部内容,希望文章能够帮你解决android学习笔记(二) 动态注册广播例程所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)