2014-12-03 1 views
0

푸시를받는 브로드 캐스트 수신기가 있습니다. 이 수신자의 의도는 com.google.android.c2dm.intent.RECEIVE 액션을 포함합니다.
내 액티비티에 등록 및 등록 해제 된 두 번째 리시버를 구현하여 앱이 실행 중인지 감지하고 알림 대신 알림을 표시합니다. 나는IntentFilter에서 사용하기위한 Android com.google.android.c2dm을 찾을 수 없습니다.

MyReceiver myReceiver = new MyReceiver(); 
IntentFilter intentFilter = new IntentFilter(com.google.android.c2dm.intent.RECEIVE); 
MyActivity.this.registerReceiver(myReceiver, intentFilter); 

안드로이드 스튜디오 C2DM을 찾을 수 없습니다 주장처럼 그로 IntentFilter에서 동일한 동작으로 두 번째 수신기를 등록해야합니다 생각. 나는 그것의 deprecated를 안다. 그러나 그것이 아직 거기에 있으면 안된다? 계획은이 행동에 대해이 두 수신기를 갖고이 것을 내 매니페스트에 등록 된 수신기보다 우선 순위를 부여하는 것입니다. 이 접근법은 괜찮습니까? 그렇다면 내 문제는 무엇입니까?

+0

과 같은 인용 부호가 필요합니다. 때때로 제거 될 것임을 의미합니다. 어쩌면 이런 일이 지금 구글 라이브러리의 릴리스에서 일어 났을 것입니다 ... – brummfondel

+0

물론,하지만 이것은 Google 웹 GCM 데모 서버 자바 애플리케이션에서 곧바로 푸시됩니다. 첫 번째 수신기의 구현은 Googles 튜토리얼에서 나온 것입니다. 따라서이 의도에이 작업이 포함되어 있다면 실제로 제거했다고는 생각하지 않았습니다. – tritop

답변

0

IntentFilter가 String을 사용한다는 사실을 간과 한 것처럼 보입니다.

IntentFilter intentFilter = new IntentFilter("com.google.android.c2dm.intent.RECEIVE"); 
관련 문제