Я хочу создать намерение и передать его в службу из onReceive () моего BroadcastReceiver.
До сих пор я всегда использовал View.getContext (), но здесь я застрял.Как именно я могу получить контекст, чтобы я мог использовать public Intent (Context packageContext, Class<?> cls)?
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);