2014-01-06 2 views
1

계류중인 의도를 방송하고 putExtra()으로 데이터를 제공 할 때 동일한 데이터가있는 수신기에서 이러한 의도를 얻습니다.이 값은 첫 번째로 작성된 보류 의도 인 입니다. 코드 :보류 의도가 고유하게 브로드 캐스트 됨

for (int i = 0; i < parts.size(); i++) { 
    mSendIntent=new Intent("CTS_SMS_SEND_ACTION"); 
    mSendIntent.putExtra("key",i): 
    sentIntents.add(PendingIntent.getBroadcast(smscontext, 0, mSendIntent, 
      0)); 
} 

내가 getBroadcast 방법 몇 가지 플래그를 추가하는 내 결과를 얻기 위해 노력하지만 성공하지, 어떤 생각?

답변

0

getBroadcast()을 호출 할 때마다 고유 한 PendingIntent을 얻으려면 고유 한 의도 동작 또는 고유 요청 코드를 제공해야합니다. 귀하의 예제에서 고유 한 요청 코드를 제공하는 것이 가장 쉽습니다. 이 시도 : 나는 requestCode 매개 변수로 i을 사용했습니다

for (int i = 0; i < parts.size(); i++) { 
    mSendIntent=new Intent("CTS_SMS_SEND_ACTION"); 
    mSendIntent.putExtra("key", i): 
    sentIntents.add(PendingIntent.getBroadcast(smscontext, i, mSendIntent, 0)); 
} 

. 그러나 i은 충분히 고유하지 않을 수 있습니다 (나머지 코드는 알지 못합니다). 고유하게 만들기 위해 날짜 또는 다른 값을 추가해야 할 수도 있습니다.

+0

tnx 많이, 어제 알았습니다. 사실입니다. – Riporter

관련 문제