기본적으로 의도를 만들고 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);