写一个android studio 自定义发送和接收广播的代码
时间: 2024-03-20 20:39:07 浏览: 123
好的,这里是一个简单的示例代码,演示如何在 Android Studio 中创建自定义广播接收器和发送器:
首先是发送广播的代码:
```java
Intent intent = new Intent("com.example.myapp.MY_CUSTOM_ACTION");
intent.putExtra("data", "Hello World!");
sendBroadcast(intent);
```
这里我们创建了一个 Intent 对象,并设置了 action 为 `"com.example.myapp.MY_CUSTOM_ACTION"`,然后使用 `putExtra()` 方法将数据添加到 Intent 中,最后使用 `sendBroadcast()` 方法发送广播。
接下来是接收广播的代码:
```java
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("com.example.myapp.MY_CUSTOM_ACTION")) {
String data = intent.getStringExtra("data");
Toast.makeText(context, "Received: " + data, Toast.LENGTH_SHORT).show();
}
}
}
```
这里我们创建了一个继承自 BroadcastReceiver 的类 MyBroadcastReceiver,并重写了 `onReceive()` 方法。在方法中,我们将收到的 Intent 的 action 与我们发送广播时设置的 action 进行比较,如果一致,则从 Intent 中获取数据,并显示一个 Toast 提示。
最后,我们需要在 AndroidManifest.xml 文件中注册我们的广播接收器:
```xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<application ...>
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="com.example.myapp.MY_CUSTOM_ACTION" />
</intent-filter>
</receiver>
</application>
</manifest>
```
在 `<receiver>` 标签中,我们指定了我们的广播接收器类名为 `.MyBroadcastReceiver`,并在 `<intent-filter>` 标签中设置了我们要接收的 action 为 `"com.example.myapp.MY_CUSTOM_ACTION"`。
这样,我们就完成了自定义广播的发送和接收代码的编写。
阅读全文