【问题标题】:How to send an arbitrary string via an Intent?如何通过 Intent 发送任意字符串?
【发布时间】:2012-06-20 22:57:50
【问题描述】:

我想在我公司的两个 Android 应用程序之间发送任意字符串(不是路径或 URL),但 Intent 数据是一个 URI。目前我关心的是启动一个 Activity,但在某些情况下,能够在不启动 Activity 的情况下发送查询并接收响应会很好。所以:

  • 当 Intent 需要 URI 时,我应该如何发送任意字符串?
  • 我还可以使用哪些其他通信机制?

【问题讨论】:

    标签: android android-intent ipc


    【解决方案1】:

    对于Intent intent = new Intent();,您可以使用intent.putExtra(String name, String value); 存储与name 键控的String value。在您调用的活动中,使用intent.getStringExtra(name); 检索值。

    【讨论】:

    • Intent 没有方法 getExtra(...)。你的答案应该是使用getStringExtra(name)
    • 感谢您的关注。有点着急,但这很难成为给出错误方法名称的借口。
    • 没问题。我总是要三思而后行 Intent 的方法名称,因为它对于它可以接受的每种类型都有多个 putExtra(...) 方法,但每个 get... 方法都特定于数据类型 - 记住它的工作方式有点混乱.除此之外,您的回答是正确的。
    【解决方案2】:

    您可以通过在 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。

    【讨论】:

      猜你喜欢
      • 2020-09-23
      • 2020-08-16
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多