android broadcastReceiver学习
2016-03-18 22:49
435 查看
package com.weilian.broadcasts20160318; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.support.v4.content.LocalBroadcastManager; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends ActionBarActivity { private LocalBroadcastManager localBroadcastManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");//添加监听的动作 NetworkChangReceiver networkChangReceiver = new NetworkChangReceiver(); registerReceiver(networkChangReceiver,intentFilter);//注册广播 Button b = (Button) findViewById(R.id.btn_sendbroadcast); Button l = (Button) findViewById(R.id.btn_sendbroadcastlocal); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent("com.weipeng.broadcasts20160318"); sendBroadcast(intent); } }); localBroadcastManager = LocalBroadcastManager.getInstance(this); IntentFilter intentFilterlocal = new IntentFilter(); intentFilterlocal.addAction("com.weipeng.broadcasts20160318");//添加动作 localBroadcastManager.registerReceiver(new LocalReceiver(),intentFilterlocal);//注册本地广播 l.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent("com.weipeng.broadcasts20160318"); localBroadcastManager.sendBroadcast(intent); } }); } class LocalReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context,"本地广播",Toast.LENGTH_LONG).show(); } } class NetworkChangReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if(networkInfo != null && networkInfo.isAvailable()){ Toast.makeText(context,"有网",Toast.LENGTH_LONG).show(); }else{ Toast.makeText(context,"无网",Toast.LENGTH_LONG).show(); } } } }
相关文章推荐
- android studio NDK-JNI调用
- ionic 中的popover 在ios android上的样式 不同解决办法
- Android 自定义Camera(一)
- Android使用sd卡保存读取数据
- android学习——activity实现动画切换
- Android Studio 简单介绍和使用问题小结
- android studio 导入项目太慢
- android:ToolBar详解(手把手教程)
- Android 雷达图(网状图)
- android自动弹出软键盘(输入键盘)
- android学习——activity实现跳转
- android开发步步为营之97:几种常用的android图片内存优化方法避免OOM
- android 选择头像上传
- Android 水平柱状图
- Android下雪动画的实现
- Android项目大全(总有你用的到的)
- android开发--actionbar的初阶
- 自定义Viewc(比较模糊的知识点)
- android基础---->数据保存到文件
- android学习——activity生命周期和切换逻辑