使用意图向我的活动发送数据

Posted

技术标签:

【中文标题】使用意图向我的活动发送数据【英文标题】:Use an intent to send data to my activity 【发布时间】:2011-05-06 02:14:27 【问题描述】:

我有一个正在运行的服务器,它通过打开我的主要活动的状态栏通知通知用户,我如何通过该意图将数据传递给我的活动?

【问题讨论】:

【参考方案1】:

主活动

Intent intent = new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("extra_text", string); 
startActivity(intent);

第二个活动

 String text = getIntent().getStringExtra("extra_text");

【讨论】:

完美答案。简短,有必要。【参考方案2】:

使用Intent.putExtra(..):

intent.putExtra("keyName", "somevalue");

这个方法被重载了,并接受各种类型作为第二个参数:int、byte、String、各种数组..

要获取数据,请使用适当的 getXYZExtra()。对于字符串,这是:

getStringExtra(String keyName)

【讨论】:

但是如何在我的活动中获取数据?当和活动获得意图时调用的事件是什么? activity.getIntent()this.getIntent() getIntent() 在 Activity 中定义。你可以在活动内部的任何地方调用它,也可以在onCreate() 好吧,我坚持我从错误的地方调用 getExtras,但我的错误是我没有执行 'this.getIntent()' 感谢您的帮助

以上是关于使用意图向我的活动发送数据的主要内容,如果未能解决你的问题,请参考以下文章

通知中的意图未正确发送到其他活动

通过(From)AsyncTask 向 MainActivity 发送意图

发送带有未决意图的数据并进入 AppWidgetProvider 中的打开活动

如何从具有不同数据的通知中意图不同的活动?

如果它们之间有一个活动,我想通过意图发送选定的数据

使用具有不同活动和最终电子邮件意图的多个意图