广播发送与接受的两种方式
来源:互联网 发布:linux vi 怎么查找 编辑:程序博客网 时间:2024/06/05 04:48
<p style="margin: 10px auto;">第一种在JAVA代码中注册接收端:</p>
</pre><pre name="code" class="html">
package com.zzw.broadcast;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;public class MainActivity extends Activity { final String action = "com.zzw"; BroadcastReceiver mBroadcastReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); // 点击按钮发送广播 findViewById(R.id.button).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 发送广播 Intent intent = new Intent(); intent.setAction(action); intent.putExtra("name", "zzw"); MainActivity.this.sendBroadcast(intent); Log.e("发送广播的状态-----","发送成功"); } }); } // 注册接收端 private void init() { mBroadcastReceiver = new TestBroadcastReceiver(); IntentFilter filter = new IntentFilter(action);// 过滤 registerReceiver(mBroadcastReceiver, filter); } private class TestBroadcastReceiver extends BroadcastReceiver { // 接收广播 @Override public void onReceive(Context context, Intent intent) { Log.e("接受广播的状态-----", "收到广播"); Log.e("收到的action-----", intent.getAction()); Log.e("收到的name-------", intent.getExtras().getString("name")); } } // 关闭广播 @Override protected void onDestroy() { if (mBroadcastReceiver != null) { unregisterReceiver(mBroadcastReceiver); } super.onDestroy(); }}
第二种在AndroidManifest中注册接收端:
发送的代码:
package com.zzw.broadcast2;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;public class MainActivity extends Activity { String action = "com.zzw"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(action); intent.putExtra("name", "zzw"); MainActivity.this.sendBroadcast(intent); Log.e("发送的状态-----", "发送成功"); } }); }}
接收的代码:
package com.zzw.broadcast2;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;public class TestReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.e("接收的状态-----", "接受成功"); Log.e("接受到的action---", intent.getAction()); Log.e("接受到的name-----", intent.getExtras().getString("name")); }}
AndroidManifest中注册接收端代码:在application中,与activity同级
<receiver android:name="com.zzw.broadcast2.TestReceiver" > <!-- 过滤器 --> <intent-filter> <action android:name="com.zzw" /> </intent-filter> </receiver>
0 0
- 广播发送与接受的两种方式
- 两种广播接受方式
- 发送广播的两种方式
- [Android 基础知识] 之十二: 广播的两种发送方式
- android注册广播的两种方式与区别
- android注册广播的两种方式与区别
- Android广播的发送和接受
- 接受和发送广播
- 接受和发送广播
- Android发送广播的三种方式
- 短信的发送(两种发送方式)
- android广播的两种方式!
- 注册广播的两种方式
- Android 广播注册的两种方式
- android广播的两种方式!
- 广播注册的两种方式
- 广播注册的两种方式
- 广播接收者的两种注册方式
- apache服务器的常用功能及设置
- 2015年12月03日 每天半小时学英语
- 机器学习工具安装(python)
- 英国MBA 申请事宜
- hdu 2846Repository
- 广播发送与接受的两种方式
- tomcatapr
- windows下安装Twisted Python
- Implement strStr()
- 【2015-2016 ACM-ICPC Pacific Northwest Regional Contest (Div 1)A】【floyd 最小路径覆盖】最少飞机数满足所有航班要求
- C语言 子函数return局部变量和栈地址 机制
- 广播与多播详解(一)
- 常用icon以及color颜色RGB值和对应颜色效果图
- 关于#pragma once编译命令