Как начать работу на переднем плане из Broadcast Manager - Android 9 - PullRequest
0 голосов
/ 27 марта 2019

Из-за некоторых ограничений в Android 9 мы не можем запускать активность на переднем плане из фона.У меня есть широковещательный приемник BootReceiver, который прослушивает события во время загрузки.Однако при запуске действия с использованием context.startActivity().

шаги,

void onBootActions (){
    Intent launchIntent = new Intent (getApplicationContext(), MainActivity.class);
    PendingIntent pendingintent = PendingIntent.getActivity  (getApplicationContext(), 0, pendingintent,     PendingIntent.FLAG_CANCEL_CURRENT);
    AlarmManager mrg = (AlarmManager)getApplicationContext().getSystemService(Context.ALARM_SERVICE);
    if(option == 1){
        mgr.set (AlarmManager.RTC, delay, pendingIntent);
    }else{
        context.startActivity(getContext(), MainActivity.class);
    }    
}

не могут быть выведены на передний план, пробовал этот вариант с отложенными намерениями, потому что, кажется, у него хороший выборпри запуске службы или активности после android 9.

Теперь с обоими значениями "option" '1' и '2' я вижу, что запускаемая активность находится в фоновом режиме, и из-за этого я не могу запустить службу, котораясоздается в деятельности.и он не работает на Android 9 и далее, так как мы не можем запустить службу из фона.

Каким должен быть выбор дизайна для такого сценария?

Любые советы будут высоко оценены.

...