Android - Получение контекста из широковещательного приемника onReceive() для отправки

В основном я хочу сделать намерение и передать его службе из моего BroadcastReceiver onReceive().

До сих пор я всегда использовал View.getContext(), но здесь я застрял. Как я могу получить контекст, чтобы использовать public Intent (Context packageContext, Class<?> cls)?

Ответ 1

public abstract void onReceive(Context context, Intent intent)

onReceive дает вам контекст. Что вы еще хотите?

Ответ 2

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

Итак, в заявлении о проблеме говорится, что вы хотите запустить службу с использованием этого контекста в своем намерении, а затем вызвать startService с этим контекстным объектом. Это невозможно сделать.

Прочитайте это, что может и не может быть сделано в контексте BroadcastReceiver.

http://developer.android.com/reference/android/content/BroadcastReceiver.html

Ответ 3

В BroadcastReceiver

onReceive(Context context, Intent intent)

метод обеспечивает контекст

так

начать деятельность использовать

context.startActivity(intent);

и начать использование сервиса

context.startService(intent);