首页 > 代码库 > Android学习笔记--BroadcastReceiver
Android学习笔记--BroadcastReceiver
---恢复内容开始---
过了一个没有假期的10.1,今天来把之前学的东西复习一下,BroadcastReceiver,Android四大组件之一,为什么这么说,百度一下,你就知道,
BroadcastReceiver分为两种广播,一种是常驻型,一种是非常驻型,常驻型是在XML中国注册的被称为常驻型,在代码中注册的被称作为非常驻型,
第一步,先建立一个JAVA文件,继承与BroadcastReceiver类,
MyBind.java
1 package com.wuxianedu.guangbo; 2 3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.util.Log; 7 8 /** 9 * Created by Administrator on 2016/10/5.10 */11 public class MyBind extends BroadcastReceiver {12 private static final String TAG = "--Main--";13 14 @Override15 public void onReceive(Context context, Intent intent) {16 Log.e(TAG, "我是全局广播----------------------------");17 }18 19 }
Mainactivity.java
1 package com.wuxianedu.guangbo; 2 3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.content.IntentFilter; 7 import android.support.v7.app.AppCompatActivity; 8 import android.os.Bundle; 9 import android.util.Log;10 import android.view.View;11 12 public class MainActivity extends AppCompatActivity implements View.OnClickListener {13 14 private static final String TAG ="--Main--";15 private MyDbind mydhd;16 17 @Override18 protected void onCreate(Bundle savedInstanceState) {19 super.onCreate(savedInstanceState);20 setContentView(R.layout.activity_main);21 findViewById(R.id.fasong).setOnClickListener(this);22 findViewById(R.id.quanbu).setOnClickListener(this);23 findViewById(R.id.zhuce).setOnClickListener(this);24 findViewById(R.id.zhuxiao).setOnClickListener(this);25 }26 27 @Override28 public void onClick(View v) {29 switch (v.getId()){30 case R.id.quanbu://发送全局广播31 Intent intent = new Intent();32 //指定接受者33 intent.setAction("com.wuxuanedu.hui");34 //启动广播35 sendBroadcast(intent);36 break;37 case R.id.zhuce://注册局部,38 mydhd = new MyDbind();39 IntentFilter filter = new IntentFilter("com.wuxuanedu.qq");40 registerReceiver(mydhd,filter);41 break;42 case R.id.fasong://发送局部广播,如果要发送局部广播就要先注册43 Intent intentt = new Intent();44 //指定接受者45 intentt.setAction("com.wuxuanedu.qq");46 //启动广播47 sendBroadcast(intentt);48 break;49 case R.id.zhuxiao://注销局部50 unregisterReceiver(mydhd);51 break;52 }53 }54 class MyDbind extends BroadcastReceiver{55 56 @Override57 public void onReceive(Context context, Intent intent) {58 Log.e(TAG, "我是局部广播----------------------------");59 }60 }61 62 }
上述代码中,分别实现了发送局部广播和全局广播,全局广播是在XML中注册,而局部广播是在代码中注册,
代码里面我已经写注释了,
附上配置文件和XML布局代码
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.wuxianedu.guangbo"> 4 5 <application 6 android:allowBackup="true" 7 android:icon="@mipmap/ic_launcher" 8 android:label="@string/app_name" 9 android:supportsRtl="true"10 android:theme="@style/AppTheme">11 <activity android:name=".MainActivity">12 <intent-filter>13 <action android:name="android.intent.action.MAIN" />14 15 <category android:name="android.intent.category.LAUNCHER" />16 </intent-filter>17 </activity>18 <receiver android:name=".MyBind">19 <intent-filter >20 <action android:name="com.wuxuanedu.hui"/>21 </intent-filter>22 </receiver>23 </application>24 25 </manifest>
布局代码
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical" 7 android:gravity="center_horizontal" 8 android:paddingBottom="@dimen/activity_vertical_margin" 9 android:paddingLeft="@dimen/activity_horizontal_margin"10 android:paddingRight="@dimen/activity_horizontal_margin"11 android:paddingTop="@dimen/activity_vertical_margin"12 tools:context="com.wuxianedu.guangbo.MainActivity">13 14 <Button android:id="@+id/quanbu"15 android:layout_width="wrap_content"16 android:layout_height="wrap_content"17 android:text="发送全局广播" />18 <Button android:id="@+id/zhuce"19 android:layout_width="wrap_content"20 android:layout_height="wrap_content"21 android:text="注册局部广播" />22 <Button android:id="@+id/fasong"23 android:layout_width="wrap_content"24 android:layout_height="wrap_content"25 android:text="发送局部广播" />26 <Button android:id="@+id/zhuxiao"27 android:layout_width="wrap_content"28 android:layout_height="wrap_content"29 android:text="注销局部广播" />30 </LinearLayout>
---恢复内容结束---
Android学习笔记--BroadcastReceiver
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。