2014-12-29 9 views
0

위해 여러 개의와 <intent-filter> 태그를 Activity 있습니다안드로이드 <의도 필터><activity /> 작동하지만 <receiver />

<activity 
    android:name=".NFCActivity" 
    android:label="@string/title_activity_nfc" > 

    <intent-filter> 
     <action android:name="android.nfc.action.TRANSACTION_DETECTED" /> 

     <category android:name="android.intent.category.DEFAULT" /> 

     <data 
      android:host="secure" 
      android:pathPrefix="/a000000004" 
      android:port="0" 
      android:scheme="nfc" /> 
    </intent-filter> 

    <intent-filter> 
     <action android:name="com.gsma.services.nfc.action.TRANSACTION_EVENT" /> 

     <category android:name="android.intent.category.DEFAULT" /> 

     <data android:scheme="nfc" /> 
    </intent-filter> 
    <intent-filter> 
     <action android:name="com.gsma.services.nfc.action.TRANSACTION_EVENT" /> 

     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 

</activity> 

이 예상대로 트랜잭션이 감지되는, 활동이 시작 작동합니다.

<receiver 
     android:name="carta.NfcReceiver" 
     android:enabled="true" > 

    <intent-filter> 
     <action android:name="android.nfc.action.TRANSACTION_DETECTED" /> 

     <category android:name="android.intent.category.DEFAULT" /> 

     <data 
      android:host="secure" 
      android:pathPrefix="/a000000004" 
      android:port="0" 
      android:scheme="nfc" /> 
    </intent-filter> 

    <intent-filter> 
     <action android:name="com.gsma.services.nfc.action.TRANSACTION_EVENT" /> 

     <category android:name="android.intent.category.DEFAULT" /> 

     <data android:scheme="nfc" /> 
    </intent-filter> 
    <intent-filter> 
     <action android:name="com.gsma.services.nfc.action.TRANSACTION_EVENT" /> 

     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 

</receiver> 

내가 뭔가를 놓친 거지하십시오 BroadcastReceiver로 작업 할 때

같은 일

onReceive 메소드가 호출되지 않습니다, 말할 수 없다?

감사

는 브로드 캐스트 리시버로 작업 할 때 같은 것은 말할 수 없다
+1

활동 의도와 브로드 캐스트 인 텐트가 다른 점입니다. 다른 하나는받을 수 없습니다. – njzk2

+0

여기에 http://stackoverflow.com/questions/6515017/android-receiver-for-multiple-actions 가능하다고합니다. 그렇지 않으면 이러한 종류의 작업을 처리하기 위해 무엇을 사용할 수 있습니까? –

+0

어떻게'sendBroadcast()'를 호출합니까? – pskink

답변

1

의 onReceive 메서드가 호출되지 않은 : 그 행동이 다른 프로세스에서 사용하고 있기 때문에입니다

startActivity() 또는 startActivityForResult(). startActivity() 또는 startActivityForResult()BroadcastReceiver으로 응답 할 수 없습니다.

+0

답변 해 주셔서 감사합니다. –