BroadcastReceiver

来源:互联网 发布:c语言product函数 编辑:程序博客网 时间:2024/06/10 01:36

1、注册广播有两种方式:静态注册和动态注册。
2、进行网络状态的监听,首先在activity中创建IntentFilter实例。intentFilter.addAction(“android.net.conn.CONNECTIVITY_CHANGE”);给实例添加一个action值,然后registerRecevice(BroadcastReceiver,intentFilter);

public class MainActivity extends Activity {    private MyBroadcastReceiver myBroadcastReceiver;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        IntentFilter intentFilter = new IntentFilter();        myBroadcastReceiver = new MyBroadcastReceiver();        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");        registerReceiver(myBroadcastReceiver, intentFilter);    }    /**     * 退出时记得取消注册     */    @Override    protected void onDestroy() {        // TODO Auto-generated method stub        super.onDestroy();        unregisterReceiver(myBroadcastReceiver);    }}

3、`public class MyBroadcastReceiver extends BroadcastReceiver {

@Overridepublic void onReceive(Context context, Intent intent) {    ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);    NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();    if(networkInfo != null && networkInfo.isAvailable()){        Toast.makeText(context, "网络可以用", Toast.LENGTH_SHORT).show();    }else{        Toast.makeText(context, "网络不可用", Toast.LENGTH_SHORT).show();    }}

}`

0 0
原创粉丝点击