第9章broadcastreceiver的使用内容摘要:

/receiver 在清单文件中注册广播接收器 尝试改变优先级大小,观看效果 public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView()。 Intent intent=new Intent()。 sendOrderedBroadcast(intent,null)。 } } 发送普通广播和发送有序广播对比 发送有序广播 public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView()。 Intent intent=new Intent()。 sendBroadcast(intent)。 } } 发送普通广播 public class BBroadcastReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { Bundle bundle=getResultExtras(true)。 (context, “ B is Invoked!” +“得到的信息” +(“ A” ), ).show()。 } } 有序广播中,广播接收器间传递数据 public class ABroadcastReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { (context, A is Invoked!, ).show()。 Bundle bundle=new Bundle()。 (“ A” , “ the message of A” )。 //在广播中添加数据 setResultExtras(bundle)。 } } ABroadcastReceiver广播接收器接收广播后, 向其中添加数据。 BBroadcastReceiver广播接收器接收广播后, 获取数据。 案例 — 音乐播放器 基于 Service的音乐播放器  程序的音乐将会由 后台运行的 Service组件负责播放 ,当后台的 播放状态 发生改变时,程序将会通过 发送广播通知前台 Activity更新界面 ;当用户 单击前台 Activity的界面按钮时 ,系统将通过 发送广播通知后台 Service来改变播放状态。  此程序中包含两个 BroadcastReceiver(广播接收器)和一个 Service服务。 一个广播接收器用于 接收播放状态发生改变的广播 ; 一个广播接收器用于 接收歌曲播放完成时发送的广播。 案例 — 音乐播放器 案例 — 音乐播放器 开发步骤 Activity的 界面布局 ,在 Activity中内嵌一个广播接收器 ActivityReceiver,用于接收来自 Service的广播。 为相应的按钮 添加单击事件 ,在单击事件中发送广播; 开发 音乐播放的服务 ( MusicService),并在服务中内嵌一个广播接收器 ServiceReceiver,用于接收来自Activity的广播; 分别编写 广播接收器的业务逻辑处理 ; 案例分析 内 部 类单 击 播 放 、 暂停 或 停 止 按 钮后 发 送 广 播处 理 结 束 后 发 送 广 播 给 A c t i v i t y监 听 歌 曲 是否 播 放 结束 , 一 旦 结束 发 送 广 播初 始 化 时通 过 代 码注 册 广 播接 收 者M a i n A c t i v i t yA c t i v i t y R e c e i v e r内 部 类M u s i c S e r v i c e初 始 化 时 , 启 动 服 务S e r v i c e R e c e i v e r广 播 接 收 者初 始 化 时通 过 代 码注 册 广 播接 收 者更 改界 面显 示状 态调 用相 应方 法进 行处 理 音乐播放器示例 public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView(。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。