2012-07-03 31 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"); 

在你的问题中的代码只是发布一个弹出消息,如果有一个额外的发现。 目前,您不需要额外添加任何东西。