Подтвердить что ты не робот

Как начать намерение, если контекст не является контекстом активности, а контекстом приложения

Я пытаюсь запустить действие из класса, который расширяет BroadcastReceiver.

public void onReceive(Context context, Intent intent) {

проблема заключается в том, что контекст параметра - это контекст приложения, а не контекст активности.

Есть ли способ начать намерение с использованием контекста приложения?

4b9b3361

Ответ 1

Вот пример кода, как вызвать другое действие с использованием контекста, установите флаг согласно вашему требованию:

public void onReceive(Context context, Intent intent) { 

  Intent startActivity = new Intent();  
  startActivity.setClass(context, xxx.class); 
  startActivity.setAction(xxx.class.getName()); 
  startActivity.setFlags( 
              Intent.FLAG_ACTIVITY_NEW_TASK 
              | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
  context.startActivity(startActivity); 
}

Ответ 2

Yup, просто используйте контекст и вызовите метод startActivity() из этого контекста.