Явная адресация Намерения динамически широковещательному получателю
Я новичок в Android и пытаюсь понять связь между приложениями.
Я пытаюсь написать 3 маленьких приложения, которые могут общаться друг с другом. Если вы хотите отправить сообщение всем, вы просто используете неявную трансляцию.
неявное намерение intent.setAction("com.example.myChatMessage")
если вы хотите указать только 1 конкретный приемник, я сделал это с
объяснять намерениеintent.setComponent("com.example.test.android.broadcastreceiver.b", "com.example.test.android.broadcastreceiver.b.myBroadcastReceiver")
это работает, когда широковещательный приемник является отдельным классом и определен в AndroidManifest.xml.
Мой вопрос: Это возможноявный адрес динамически зарегистрированного приемника вещания?
package com.example.test.android.broadcastreceiver.b;
public class MainActivity extends Activity {
private final IntentFilter intentfilter = new IntentFilter("com.example.myChatMessage");
private myBroadcastReceiver broadcastreceiver;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
broadcastreceiver = new myBroadcastReceiver();
registerReceiver(broadcastreceiver, intentfilter);
}
public static class myBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
String message = intent.getStringExtra("message");
Log.d("message", "B received: "+message);
}
}
}
Он получает все неявные трансляции, но нет явных - я не знаю, как с этим справиться. Можешь мне помочь?