Ответ 1
public abstract void onReceive(Context context, Intent intent)
onReceive
дает вам контекст. Что вы еще хотите?
В основном я хочу сделать намерение и передать его службе из моего BroadcastReceiver onReceive().
До сих пор я всегда использовал View.getContext(), но здесь я застрял.
Как я могу получить контекст, чтобы использовать public Intent (Context packageContext, Class<?> cls)
?
public abstract void onReceive(Context context, Intent intent)
onReceive
дает вам контекст. Что вы еще хотите?
Хорошо, что упомянутый выше ответ не имеет никакого смысла. Вы можете использовать контекст, пока вы находитесь в onReceive. после возврата кода из onReceive, контекст больше не существует.
Итак, в заявлении о проблеме говорится, что вы хотите запустить службу с использованием этого контекста в своем намерении, а затем вызвать startService с этим контекстным объектом. Это невозможно сделать.
Прочитайте это, что может и не может быть сделано в контексте BroadcastReceiver.
http://developer.android.com/reference/android/content/BroadcastReceiver.html
В BroadcastReceiver
onReceive(Context context, Intent intent)
метод обеспечивает контекст
так
начать деятельность использовать
context.startActivity(intent);
и начать использование сервиса
context.startService(intent);