2014-01-06 77 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,您需要提供唯一的意圖操作或唯一的請求代碼。在你的例子中,提供一個唯一的請求代碼可能是最簡單的。試試這個:

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作爲requestCode參數。但是,i可能不夠獨特(我不知道其他代碼)。您可能需要添加日期或其他值以使其唯一。

+0

tnx很多,我昨天發現它:)這是真的 – Riporter