本地广播的简单示例 --Android开发

1、局部通知管理器LocalBroadcastManager,用于同一个应用中不同组件之间发送广播。由于是在同应用中发送广播,所以使用它安全性、效率也会提高。

2、本例实现简单的发送本地广播的案例

点击按钮发送本地广播,提示“收到本地广播”。

核心代码:

MainActivity.java:

public class MainActivity extends AppCompatActivity {

private IntentFilter filter;
private LocalReceiver localReceiver;
private LocalBroadcastManager localBroadcastManager;
private Button btn_send_local_broadcast;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建LocalBroadcastManager(局部通知管理器)对象
localBroadcastManager = LocalBroadcastManager.getInstance(this);

btn_send_local_broadcast = (Button) findViewById(R.id.btn_send_local_broadcast);
//点击按钮发送本地广播
btn_send_local_broadcast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.broadcasttest.LOCAL_BROADCAST");
localBroadcastManager.sendBroadcast(intent);//发送广播
}
});
//动态注册广播
filter = new IntentFilter();
filter.addAction("com.broadcasttest.LOCAL_BROADCAST");
localReceiver = new LocalReceiver();//创建广播接受者对象
localBroadcastManager.registerReceiver(localReceiver, filter);//注册
}

class LocalReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "收到本地广播", Toast.LENGTH_SHORT).show();
}
}

@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(localReceiver);
}
}

猜你喜欢

转载自www.cnblogs.com/qikeyishu/p/9218755.html
今日推荐