#java #android #android-intent #android-activity #notifications
#java #Android #android-намерение #android-активность #уведомления
Вопрос:
Минимальный API проекта KitKat (19), целевой API проекта Android 10 (30)
Я пытаюсь что-то сделать для запуска действия из моей фоновой службы. Я понимаю, что запуск действия из фоновой службы явно невозможен с API 29.
Однако можно ли создать полноэкранное уведомление о намерениях и широковещательный приемник для этого уведомления, которое автоматически открывает действие из моего приложения? Или пользователю все равно придется нажимать на полноэкранное уведомление, прежде чем можно будет запустить действие?
Если автоматический запуск activity из широковещательного приемника таким образом возможен, как это можно сделать?
Спасибо!
Ответ №1:
Вы можете открыть activity в фоновом режиме, добавив "SYSTEM_ALERT_WINDOW"
разрешение в манифест, и запросить разрешение пользователя один раз, когда приложение открывается в первый раз, позвонив startActivity(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION));
куда-нибудь в своем приложении и предоставив разрешение своему приложению.
Комментарии:
1. Я попробую это! Есть ли в настройках место, к которому пользователь должен перенаправляться с помощью моего кода, или диалог будет открыт системой Android, когда я добавлю разрешение в манифест?
2. Я добавил разрешение и запустил это действие из своего фона без какой-либо удачи:
Intent startMain = new Intent(Intent.ACTION_MAIN); startMain.addCategory(Intent.CATEGORY_HOME); startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); App.getContext().startActivity(startMain);
что еще мне делать?