2012-07-03 34 views
1
Bundle extras = intent.getExtras(); 
if (extras != null) { 
    Toast.makeText(context, "Message recieved", Toast.LENGTH_SHORT).show(); 
} 

什麼是存儲在額外的價值..:?內部與intent.getextras()工作

+0

請問您可以將您的問題置於情境中嗎? –

+0

我不理解intent.getextras的功能。 IN d乞討程序本身,沒有任何其他XML頁面創建<主要不使用>我怎麼能得到捆綁的價值.. –

+0

你傳遞的意圖相同的價值,你會recive在另一個Activity作爲字符串title = getIntent()。getStringExtra (「標題」); –

回答

0

其他是Bundle,所以它通常會保存一個集合的值。從你的代碼片段中,不可能知道那裏有什麼。它取決於創建該意圖的代碼放入該包中的內容。

如果你想知道Bundle中的所有密鑰,請使用Bundle.keySet()

關於您的評論,在Android應用程序中沒有真正的「程序開始」。您的活動在清單中標記爲「啓動器」活動。 如果您的活動是從啓動器啓動的,那麼Extras將爲空。然而,沒有人阻止你(或其他應用程序)手動啓動你的活動,提供額外的數據。

這裏沒有涉及的魔法。如果你沒有把任何東西放到Extras中,什麼都不會出來。

+0

Bundle extras = intent.getExtras(); \t \t if(extras!= null){ \t \t \t String state = extras.getString(TelephonyManager.EXTRA_STATE); \t \t \t Log.w(「DEBUG」,state); \t \t \t如果(state.equals(TelephonyManager.EXTRA_STATE_RINGING)){ \t \t \t \t字符串phoneNumber的= extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER); \t \t \t \t Log.w(「DEBUG」,phoneNumber); \t \t \t \t System.out.println(「zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz」); \t \t \t \t Toast.makeText(context,「Message received」,Toast.LENGTH_SHORT)。顯示(); \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t} –

+0

對不起,我反對不在Q中添加此代碼,所以在這裏添加:( –

1

存儲在額外值中的值是您放入額外值中的值。

要添加一個額外的意圖,請在開始之前執行以下操作。

intent = new Intent(v.getContext(),TextActivity.class); 
intent.putExtra("Title", "I am An extra"); 
startActivityForResult(intent, -1); 
在你的意圖

然後,讀它做的事:

String title = getIntent().getStringExtra("Title"); 

在你的問題中的代碼只是發佈一個彈出消息,如果有一個額外的發現。 目前,您不需要額外添加任何東西。