我正在學習如何在機器人發送短信的內容,已經看到下面的代碼:的意圖在廣播接收器
public class SMSReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = 「」;
if (bundle != null)
{
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get(「pdus」);
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
str += 「SMS from 「 + msgs[i].getOriginatingAddress();
str += 「 :」;
str += msgs[i].getMessageBody().toString();
str += 「\n」;
}
//---display the new SMS message---
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
}
}
}
現在我的問題是我怎麼知道是什麼意圖對象的內容傳入onReceive函數?如下:
Object[] pdus = (Object[]) bundle.get(「pdus」);
如何知道捆綁對象中存在「pdus」鍵? 我在API文檔中找不到任何線索,任何人都知道相關信息位於何處?
我不僅想知道SMS intent傳遞給onReceive函數的什麼,還有其他系統相關的Intent,但是我找不到API文檔中的任何相關信息。我想知道這些信息真的存在嗎?
其實我不是問這個問題,我想知道包中所有可能的密鑰和它們保留的值,但到目前爲止,我在API文檔中找不到它們。我想他們被記錄在某處,但找不到它。 – GMsoF
所有可能的密鑰都可以使用[keySet()](http://developer.android.com/reference/android/os/Bundle.html#keySet())獲得。 AFAIK沒有記錄他們保留的(任何)標準'intent filters'的價值。 – 500865
他們怎麼沒有記錄這些密鑰?那麼我們怎麼知道這些關鍵所在?即使我使用KeySet()函數打印出這些密鑰,但我仍然不清楚它們是什麼。赦免,你怎麼知道什麼「psud」代表你處理短信?我在下面的答案中發佈了一些內容,你能幫助我嗎? – GMsoF