当前位置:网站首页>Broadcast (broadcast)

Broadcast (broadcast)

2022-07-23 21:10:00 shuo277

android Four components of :

Activity、Service、BroadCast( radio broadcast )、ContentProvider

BroadCast Receiver

  • One of the four components , Must be in the list (androidManifest.xml) Register in the file

  • Is to propagate data between components (Intent) A mechanism of

  • APP Which one uses radio ?

    • Telephone

    • SMS

    • Electric quantity

    • WIFI Is it connected

Android The first error in ?

Time consuming operations in components , Will report application no response (ANR)

There are several kinds of broadcast receivers ?

Standard radio

Dynamic registration Use java Code registration

Static registration Directly in androidManifest.xml register

Ordered broadcasting

Realize simple static registration

     1. Create broadcast recipients  

 

     2. stay AndroidManifest.xml Register broadcast recipients in

// Register dynamic broadcast recipients 
MyDymnicReceiver myDymnicReceiver=new MyDymnicReceiver();
IntentFilter intentFilter=new IntentFilter();
intentFilter.addAction("HOPU2");
registerReceiver(myDymnicReceiver,intentFilter);

     3. Send a broadcast

// Send broadcast to static receiver 
Intent intent=new Intent();
intent.setPackage(getPackageName());
intent.setAction("HOPU");
intent.putExtra("info"," Hello Hello ");
sendBroadcast(intent);

Realization

Simple dynamic registration

// Declaring container 
private Button button,button2;
// Create internal 

class MyDymnicReceiver extends BroadcastReceiver{ 
  @Override 
public void onReceive(Context context, Intent intent) { 
Log.i(" Dynamic broadcast recipients ",intent.getStringExtra("info")); 
} 
}

// Register dynamic broadcast recipients 
MyDymnicReceiver myDymnicReceiver=new MyDymnicReceiver();
IntentFilter intentFilter=new IntentFilter();
intentFilter.addAction("HOPU2");
registerReceiver(myDymnicReceiver,intentFilter);
// Send dynamic broadcast recipients 
button2=findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent=new Intent();
        intent.setAction("HOPU2");
        intent.putExtra("info","hello hello");
        sendBroadcast(intent);
    }
原网站

版权声明
本文为[shuo277]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/204/202207232108424900.html