>>分享Android开发相关的技术 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 18945 个阅读者 刷新本主题
 * 贴子主题:  Android Broadcast receiver 编程 回复文章 点赞(0)  收藏  
作者:Jacky    发表时间:2020-05-15 10:57:47     消息  查看  搜索  好友  邮件  复制  引用

    在Android中,广播(broadcast)是非常有用的功能。通过广播可以通知其他广播接受这某个事件发生了。比如电源不足,信号不好等。

         下面我做了一个简单的demo,首先看看activity
  1.    package  com.android.broadcasttest;
  2.    import  android.app.Activity;
  3.    import  android.content.Intent;
  4.    import  android.os.Bundle;
  5.    import  android.view.View;
  6.    import  android.view.View.OnClickListener;
  7.    import  android.widget.Button;
  8.    public   class  BroadcastTest  extends Activity {
  9.        public   static   final  String NEW_LIFEFORM_DETECTED =  
  10.            "com.android.broadcasttest.NEW_LIFEFORM" ;
  11.        /** Called when the activity is first created. */  
  12.        @Override  
  13.        public   void  onCreate(Bundle savedInstanceState) {
  14.            super .onCreate(savedInstanceState);
  15.           setContentView(R.layout.main);
  16.           Button btn0 = (Button)findViewById(R.id.btn0);
  17.           btn0.setOnClickListener( new  OnClickListener() {
  18.                public   void  onClick(View v) {
  19.                   Intent it =  new  Intent(NEW_LIFEFORM_DETECTED);          
  20.                   sendBroadcast(it);
  21.               }
  22.           });
  23.       }
  24.   }

     在这个activity中生成了一个按钮,当按下按钮的时候通过sendBroadcast()发送一个广播。

         我们再看看广播接收者代码:

  1.    package  com.android.broadcasttest;
  2.    import  android.content.BroadcastReceiver;
  3.    import  android.content.Context;
  4.    import  android.content.Intent;
  5.    import  android.util.Log;
  6.    import  android.widget.Toast;
  7.    public   class  MyBroadcastReceiver  extends BroadcastReceiver {
  8.        public   static   final  String BURN =
  9.            "com.paad.alien.action.BURN_IT_WITH_FIRE" ;
  10.        public  MyBroadcastReceiver () {
  11.           Log.v( "BROADCAST_TAG" ,  "myBroadCast" );
  12.       }
  13.        @Override  
  14.        public   void  onReceive(Context context, Intent intent) {
  15.            // TODO Auto-generated method stub        
  16.           Toast.makeText(context,  "成功接收广播:" , Toast.LENGTH_LONG).show();  
  17.       }
  18.   }

     在onReceive()中实现了当接收到广播所做的动作。

         我们还需要在AndroidManifest.xml中注册该receiver

  1.    <? xml   version = "1.0"   encoding = "utf-8" ?>  
  2.    < manifest   xmlns:android = "http://schemas.android.com/apk/res/android"  
  3.          package = "com.android.broadcasttest"  
  4.          android:versionCode = "1"  
  5.          android:versionName = "1.0" >  
  6.        < application   android:icon = "@drawable/icon"   android:label = "@string/app_name" >  
  7.            < activity   android:name = ".BroadcastTest"  
  8.                      android:label = "@string/app_name" >  
  9.                < intent-filter >  
  10.                    < action   android:name = "android.intent.action.MAIN"   />  
  11.                    < category   android:name = "android.intent.category.LAUNCHER"   />  
  12.                </ intent-filter >  
  13.            </ activity >  
  14.            < receiver   android:name = ".MyBroadcastReceiver" >  
  15.                < intent-filter >  
  16.                    < action   android:name = "com.android.broadcasttest.NEW_LIFEFORM"   />  
  17.                </ intent-filter >  
  18.            </ receiver >  
  19.        </ application >          
  20.        < uses-sdk   android:minSdkVersion = "8"   />  
  21.    </ manifest >  

     在receiver的action中定义了该receiver能够接受的广播。



----------------------------
原文链接:https://blog.51cto.com/buaadallas/377637

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-06-04 08:22:54 重新编辑]
  Java面向对象编程-->图形用户界面(上)
  JavaWeb开发-->访问数据库(Ⅱ)
  JSP与Hibernate开发-->Java应用分层架构及软件模型
  Java网络编程-->ServerSocket用法详解
  精通Spring-->CSS过渡和动画
  Vue3开发-->通过Axios访问服务器
  【JavaFX学习】开发环境配置
  Android自动化测试之Robotium学习
  Android开发实践:用脚本编译Android工程
  Android 如何监听自身应用被卸载
  Android 自定义Menu
  Android Service的用法
  实用程序:android 处理图片工具
  启动和运用Android VNC Server
  Android开发: 文件读写
  android 自动化测试之MonkeyRunner学习
  从Android中Activity之间的通信说开来
  Android 应用程序组件
  Android-商品展示案例
  Matrix源码分析
  Android 判断当前设备是手机还是平板
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。