1

저는 현재 백그라운드에서 문자 메시지 (SMS)를 수신하는 응용 프로그램 (예 : 응용 프로그램이 닫힌 상태)에서 작업하고 있습니다. 백그라운드에서 문자 메시지를 받기 위해 등록한 서비스의 상태 표시 줄에서 사용자에게 알리는 방법을 모르겠습니다. NotificationCompat.Builder 클래스에는 서비스 클래스에서 전달할 수없는 매개 변수로 컨텍스트가 필요합니다.앱을 종료해도 whatsapp가 푸시 알림을 받으면 어떻게 관리합니까?

새 메시지가 도착하면 Whatsapp 메신저가 상태 표시 줄에서 어떻게 알림을 받습니까?

나는 stackoverflow에 대한 많은 비슷한 질문을했지만, 아무도 내 질문에 대한 해결책이 없었습니다. 이 문제를 해결하도록 도와주세요. 참조 또는 작은 코드가 도움이 될 것입니다.

답변

1

NotificationCompat.Builder 클래스는 우리가

ServiceContext 인 서비스 클래스에 통과 할 수는 paramater 같은 맥락이 필요합니다. Service inherits from Context. 따라서 NotificationCompat.Builder과 함께 Service 자체를 사용합니다.

는 는
+0

누가 서비스를 계속 유지할 것이라고 말합니까? – TheRedFox

+0

@ TheRedFox : '알림'을 발생시키는 데 몇 초가 걸립니다. 일단 알림이 발생하면 더 이상 '서비스'가 필요하지 않습니다. – CommonsWare

+0

예 알아요.하지만 그의 문제는 앱이 죽은 경우에도 메시지를 감지하는 방법입니다 (일명 서비스 유지). – TheRedFox

1

당신은 스티커 서비스를 사용하여 서비스를 만들 것입니다 이렇게 다시 앱이 사망 도착하면 시작할 수 있습니다

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    Log.i("LocalService", "Received start id " + startId + ": " + intent); 
    // We want this service to continue running until it is explicitly 
    // stopped, so return sticky. 
    return START_STICKY; 
} 

당신은 여기에 모든 정보를 확인할 수 있습니다

http://developer.android.com/reference/android/app/Service.html#START_STICKY

편집 :

,691 : 여기

그것을 사용하는 방법의 예입니다

http://developer.android.com/reference/android/app/Service.html#LocalServiceSample

관련 문제