背景:app需要监听第三方app的广播获取应用凭证和用户凭证
简介:
广播注册主要分静态广播注册和动态广播注册,由于静态广播注册需要修改AndroidManifest.xml,所以uniapp上就没有采用静态注册。本人主要是参考安卓的广播机制,来实现uniapp的原生写法的广播机制(动态广播)。
动态注册广播:它跟随 Activity 的生命周期。需要在 Activity 结束前,移除广播接收器。
静态注册广播:当应用程序关闭后,如果有广播过来,程序也会被系统调用自动运行。
1.发送广播
自定义设置广播动作,传递参数给广播接收器
安卓
private IntentFilter intentFilter;
private BootCompleteReceiver bootCompleteReceiver;
public class MainActivity18 extends AppCompatActivity {
private IntentFilter intentFilter;
private BootCompleteReceiver bootCompleteReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main17);
Button button33=findViewById(R.id.button33);
intentFilter=new IntentFilter("MY_ACTION");//括号的的action值可以自定义,也可以用广播的action,只要让它与下面的intent中的值一致
bootCompleteReceiver=new BootCompleteReceiver();
registerReceiver(bootCompleteReceiver,intentFilter);
button33.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent();
intent.setAction("MY_ACTION");
intent.putExtra("name","奥特曼");//传递给广播接收器
sendBroadcast(intent);