2013-12-20 2 views
-1

특정 동작을 수신하는 브로드 캐스트 수신기가 있습니다. 나는이 행동을 보내는 곳이 2 곳있다. 어떤 장소에서 왔는지 구별 할 수있는 방법이 있습니까? 요청 코드와 비슷한 것을 설정할 수 있습니까?브로드 캐스트 리시버에서 의도가 어떤 코드 영역인지 알 수있는 방법

고맙습니다.

편집 : Mayeb I shouldve more. 내 문제는이 동작을 듣는 것입니다. android.hardware.action.NEW_PICTURE 사진을 찍을 때 카메라 앱이 보내는 메시지입니다. 그러나 내 앱에서는 기본 카메라 앱을 사용하여 사진을 찍을 수도 있으므로이 작업도 전송됩니다. 제 질문은 "사용자가 기본 카메라 앱을 열고 내 앱에서 사진을 찍을 때"와 "내 앱을 사용하고 사진을 찍을 때"보낸 액션을 구분하는 방법입니다. 모두 의도에서이 작업을 넣어 GCM 서비스에 방송 수신기

답변

0
public BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      String broadcastMessage = intent.getExtras().getString("senderNum"); 

      Log.i("broadcastReceiver", "broadcastReceiver=" + broadcastMessage 
        + "-------" + verificationCode); 


     } 
    }; 

public void onResume() { 
     messageFilter = new IntentFilter(); 
     messageFilter.addAction("RECEIVE_MESSAGE_ACTION_NEW"); 
     viewRegistration.registerReceiver(broadcastReceiver, messageFilter); 
    } 

    public void onPause() { 

     viewRegistration.unregisterReceiver(broadcastReceiver); 

    } 

에 동일한 작업을 보내드립니다 : RECEIVE_MESSAGE_ACTION_NEW에 따라

@Override 
    protected void onMessage(final Context ctx, Intent intent) { 


      // Creates an explicit intent for an Activity in your app 
      Intent intent2 = new Intent(); 
       intent2.setAction("RECEIVE_MESSAGE_ACTION_NEW"); 
       intent2.putExtra("senderNum", senderNum); 
       intent2.putExtra("verificationCode", 
         ReturnValidationcode(message)); 
       context.sendBroadcast(intent2); 

    } 

, 당신은 방송 얻을 수있는 메시지의 의도를.

+0

감사합니다. bt는 내 질문에 답변하지 않습니다. EDIT를 확인하십시오. – Snake

관련 문제