【发布时间】:2012-06-20 22:57:50
【问题描述】:
我想在我公司的两个 Android 应用程序之间发送任意字符串(不是路径或 URL),但 Intent 数据是一个 URI。目前我关心的是启动一个 Activity,但在某些情况下,能够在不启动 Activity 的情况下发送查询并接收响应会很好。所以:
- 当 Intent 需要 URI 时,我应该如何发送任意字符串?
- 我还可以使用哪些其他通信机制?
【问题讨论】:
标签: android android-intent ipc
我想在我公司的两个 Android 应用程序之间发送任意字符串(不是路径或 URL),但 Intent 数据是一个 URI。目前我关心的是启动一个 Activity,但在某些情况下,能够在不启动 Activity 的情况下发送查询并接收响应会很好。所以:
【问题讨论】:
标签: android android-intent ipc
对于Intent intent = new Intent();,您可以使用intent.putExtra(String name, String value); 存储与name 键控的String value。在您调用的活动中,使用intent.getStringExtra(name); 检索值。
【讨论】:
Intent 没有方法 getExtra(...)。你的答案应该是使用getStringExtra(name)
Intent 的方法名称,因为它对于它可以接受的每种类型都有多个 putExtra(...) 方法,但每个 get... 方法都特定于数据类型 - 记住它的工作方式有点混乱.除此之外,您的回答是正确的。
您可以通过在 Intent 上使用 extras 来将任意字符串添加到 Intent。
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra(SOME_STATIC_NAME_VALUE, "your_arbitrary_string");
额外的选项有很多,请参阅http://developer.android.com/reference/android/content/Intent.html
要在接收活动中检索字符串,请使用
intent.getExtras().getString(SOME_STATIC_NAME_VALUE)
或者为你在 extra 上设置的任何值设置适当的 getter。
【讨论】: