内部使用intent.getextras()

时间:2012-07-03 08:59:15

标签: android android-intent bundle

Bundle extras = intent.getExtras();
if (extras != null) {   
    Toast.makeText(context, "Message recieved", Toast.LENGTH_SHORT).show();
}

extras中存储的值是什么..:?

2 个答案:

答案 0 :(得分:1)

存储在附加内容中的值是您添加到附加内容中的值。

要为意图添加额外内容,请在启动之前执行以下操作。

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

然后在你的意图中,阅读它:

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

如果找到额外的内容,您问题中的代码就是发布弹出消息。 目前,您不会向其他内容添加任何内容。

答案 1 :(得分:0)

其他内容为Bundle,因此它通常会包含值的集合。从您的代码片段中,无法分辨出其中的内容。这取决于创建意图的代码是什么。

如果您想知道Bundle中的所有密钥,请使用Bundle.keySet()

关于您的评论,Android应用程序中没有真正的“程序开始”。您的活动在清单中标记为“启动器”活动。 如果您的活动是从Launcher启动的,则Extras将为空。但是,没有人阻止您(或其他应用程序)手动启动您的活动,在附加内容中提供数据。

这里没有魔法。如果你没有在Extras中加入任何东西,那就什么都没有了。