android 自定义广播
时间: 2023-10-18 14:03:04 浏览: 53
在 Android 中,广播是一种用于在应用程序之间或应用程序内部传递消息的机制。Android 中有许多系统广播,如手机电量低、网络连接变化等。除了系统广播之外,您还可以创建自己的广播。本文将介绍如何创建自定义广播。
首先,您需要定义一个广播接收器类,该类将处理广播消息。以下是一个示例广播接收器类:
```java
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String message = intent.getStringExtra("message");
Toast.makeText(context, "Received message: " + message, Toast.LENGTH_LONG).show();
}
}
```
在上面的类中,onReceive() 方法是必须实现的,它将在接收到广播时被调用。在本例中,我们获取广播中的消息并在 Toast 中显示它。
接下来,您需要在 AndroidManifest.xml 文件中声明广播接收器。以下是一个示例:
```xml
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="com.example.MY_CUSTOM_ACTION" />
</intent-filter>
</receiver>
```
在上面的代码中,我们声明了 MyBroadcastReceiver 类作为广播接收器。在 intent-filter 标记中,我们指定了我们自己的自定义动作("com.example.MY_CUSTOM_ACTION")。
现在,您可以在应用程序中发送广播了。以下是一个示例:
```java
Intent intent = new Intent("com.example.MY_CUSTOM_ACTION");
intent.putExtra("message", "Hello, world!");
sendBroadcast(intent);
```
在上面的代码中,我们创建了一个 Intent 对象,并指定了我们自己的自定义动作("com.example.MY_CUSTOM_ACTION")。我们还将消息作为额外的数据添加到 Intent 中。最后,我们调用 sendBroadcast() 方法将广播发送出去。
当 MyBroadcastReceiver 类接收到广播时,onReceive() 方法将被调用,并显示 Toast 消息。
这就是如何创建自定义广播的简单示例。您可以使用自定义动作和附加的数据来传递消息。