В моем проекте у меня есть 2 действия. Из основного действия я запустил 2-й вид деятельности с собственным VideoView в нем, а в методе onCreate я буду называть финиш, чтобы я работал на заднем плане. Но я хочу отправить обновления в MainActivity, например, пауза, запуск, остановка и т. Д. Я узнал, что BroadcastReceiver
- лучший способ решить эту проблему. Вот что я делаю, но MainActivity не получает широковещательную передачу, отправленную 2-й активностью, вот мой код.Добавление BroadcastReceiver в MainActivity не работает
В MainActivity.java,
BroadcastReceiver broadcastReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
System.out.println("In onReceive");
}
};
private IntentFilter filter = new IntentFilter("com.example.broadcast");
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
registerReceiver(broadcastReceiver, filter);
}
В 2-активность,
Intent intent = new Intent("com.example.broadcast");
intent.putExtra("Status", status);
sendBroadcast(intent);
Что я делаю неправильно?
Зарегистрируйте приемник, как: 'LocalBroadcastManager.getInstance (это) .registerReceiver (BroadcastReceiver, фильтр);' –
Скорее всего, «MainActivity» не активен, когда отображается вторая «Активность». Где вы отменили регистрацию получателя? – 323go
@bigdestroyer, я не могу добавить 'LocalBroadcastManager', поскольку он не разрешается в Android Studio. – Trident