Android 所有广播类型及简单代码示例
时间: 2023-04-08 13:02:39 浏览: 78
我可以回答这个问题。Android 广播类型包括标准广播、有序广播和粘性广播。以下是一个简单的代码示例:
发送标准广播:
Intent intent = new Intent("com.example.broadcast.MY_ACTION");
sendBroadcast(intent);
接收标准广播:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("com.example.broadcast.MY_ACTION".equals(intent.getAction())) {
// 处理广播
}
}
}
发送有序广播:
Intent intent = new Intent("com.example.broadcast.MY_ACTION");
sendOrderedBroadcast(intent, null);
接收有序广播:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("com.example.broadcast.MY_ACTION".equals(intent.getAction())) {
// 处理广播
abortBroadcast(); // 终止广播传递
}
}
}
发送粘性广播:
Intent intent = new Intent("com.example.broadcast.MY_ACTION");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
sendStickyBroadcast(intent);
接收粘性广播:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("com.example.broadcast.MY_ACTION".equals(intent.getAction())) {
// 处理广播
Intent stickyIntent = context.getStickyBroadcast(intent);
// 获取粘性广播
}
}
}