自定义广播(BroadcastReceiver)事件 --Android开发

【自定义广播(BroadcastReceiver)事件 --Android开发】听闻少年二字,当与平庸相斥。这篇文章主要讲述自定义广播(BroadcastReceiver)事件 --Android开发相关的知识,希望能为你提供帮助。
本例演示自定义广播事件。我们需要做的是,在主活动中写发送广播的代码,然后在接收广播的类中写接收广播的代码。
1、主活动中点击按钮后发送广播

自定义广播(BroadcastReceiver)事件 --Android开发

文章图片

MainActivity.java:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClick(View view) {
Intent intent = new Intent();
intent.setAction("com.thanlon.diyAction"); //自定义广播的类型

//sendBroadcast(intent); //直接发送广播

intent.putExtra("info_key", "广播传递的参数"); //发送带参数的广播;
sendBroadcast(intent, "com.thanlon.permission.name"); //需要带指定权限的接受者才能接收到广播

}
}

2、写一个接收广播的类。
MyBroadcastReceiver.java:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("thanlon", "收到自定义广播");
String info = intent.getStringExtra("info_key"); //接受广播带的参数
Log.d("thanlon", info);
}
}

3、在androidManifest.xml中配置自定义广播类型和自定义接收者的权限(注册广播)。
AndroidManifest.xml:
< ?xml version="1.0" encoding="utf-8"?>
< manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="thonlon.example.cn.diybroadcastreceiverdemo">
< !--自定义接收者权限-->
< permission android:name="com.thanlon.permission.name" />
< !--配置接收者权限-->
< uses-permission android:name="com.thanlon.permission.name" />
< application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
< activity android:name=".MainActivity">
< intent-filter>
< action android:name="android.intent.action.MAIN" />
< category android:name="android.intent.category.LAUNCHER" />
< /intent-filter>
< /activity>

< !--注册广播,本例自定义广播类型-->

< receiver android:name=".MyBroadcastReceiver">
< intent-filter>
< action android:name="com.thanlon.diyAction" />
< /intent-filter>
< /receiver>
< /application>
< /manifest>

  4、在logcat下查看广播接受者是否接收到广播。
自定义广播(BroadcastReceiver)事件 --Android开发

文章图片

  很明显正确接收到广播并且接收到了  广播传递的参数。

    推荐阅读