предупреждение "startactivity вызывается из контекстной службы неактивности" при запуске intent из уведомления



У меня есть service, который запускает notification с startForeground(), я хочу, чтобы уведомление запускало действие по щелчку.
acitivty, который я хочу запустить, определяется как android:launchMode="singleTask" и обычно запускается до запуска службы.

Вот мой pending intent код создания:



Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);


Когда я нажимаю на уведомление, я получаю следующее предупреждение:



startActivity called from non-Activity context; 
forcing Intent.FLAG_ACTIVITY_NEW_TASK for: Intent........


Я также пытался получить действие с this вместо getApplicationContext(), но получил то же самое предупреждение.

Как я должен сделать это право ?

667   1  

1 ответ:

Не используйте Intent.FLAG_ACTIVITY_NEW_TASK для PendingIntent.getActivity. Лучше использовать FLAG_ONE_SHOT.

И попробуйте использовать Context из Activity вместо getApplicationContext().

Comments

    Ничего не найдено.