Android-브로드 캐스트 수신기에서 컨텍스트 가져 오기 onReceive () to send to


82

기본적으로 의도를 만들고 BroadcastReceiver의 onReceive ()에서 서비스로 전달하고 싶습니다.

지금까지는 항상 View.getContext ()를 사용했지만 여기에 갇혀 있습니다. 사용할 수 있도록 컨텍스트를 정확히 어떻게 얻을 수 public Intent (Context packageContext, Class<?> cls)있습니까?

답변:


302
public abstract void onReceive(Context context, Intent intent)

onReceive컨텍스트를 제공합니다. 뭘 더 원해?


8
아 진짜, 이걸 볼 때까지 보지 못했어요.
Blasanka

2

위에서 언급 한 답변은 아무 소용이 없습니다. onReceive에있는 한 컨텍스트를 사용할 수 있습니다. onReceive에서 코드가 반환되면 컨텍스트가 더 이상 존재하지 않습니다.

따라서 문제 설명은 인 텐트 생성에서이 컨텍스트를 사용하여 서비스를 시작한 다음이 컨텍스트 개체로 startService를 호출하고 싶다고 말합니다. 그것은 할 수 없습니다.

BroadcastReceiver 컨텍스트에서 할 수있는 것과 할 수없는 것을 읽으십시오.

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


당신이 말한 것은 사실이 아닙니다. BroadcastReceivers에서 서비스를 시작할 수 있지만 바인딩 할 수는 없습니다.
Bardya Momeni

0

BroadcastReceiver에서

onReceive(Context context, Intent intent)

방법은 컨텍스트를 제공합니다

그래서

활동 사용 시작

context.startActivity(intent);

서비스 이용 시작

context.startService(intent);
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.