【问题标题】:How can I know the startActivity intent from other application?我如何知道其他应用程序的 startActivity 意图?
【发布时间】:2014-11-18 11:11:20
【问题描述】:

我有一个 Activity 并假设它已经启动。当其他应用程序使用 startActivity 方法启动我的 Activity 时,我的 Activity 将显示并运行 onResume 方法,但我找不到任何方法来获取其他应用程序在 startActivity 方法中使用的意图。我想在意图中获得额外的数据。我该怎么办?

编辑

我的 Activity 是 singleTask,我想从其他应用程序中获取 startActivity 意图。我认为它与过滤器无关。

【问题讨论】:

标签: android android-intent


【解决方案1】:

您是否尝试过使用 getIntent()

那么你可以这样做:

this.getIntent().getExtras();

之后,如果您需要新的意图,只需在您的活动中覆盖 onNewIntent 函数。

【讨论】:

  • 我的Activity已经启动,所以getIntent()方法会返回第一次启动的intent。但是,当我的 Activity 已经运行时,我想知道其他应用程序的意图。
  • onNewIntent(intent) 方法就是答案!
【解决方案2】:

我只是举个例子。当我们需要分享一些东西时。我们点击分享按钮,它显示了一个应用列表,我们可以通过它分享我们的东西。

因此,如果您想制作可以接收其他应用数据的那种应用,那么您需要让您的 Activity 能够接收该数据。为了接收隐式意图,您必须在清单的意图过滤器中包含 CATEGORY_DEFAULT 类别。

在此链接下方,您将获得更多信息:http://developer.android.com/training/basics/intents/filters.html

【讨论】:

  • 你说得对,我想实现一个SEND动作Activity。我已经设置了我的意图过滤器。但是我遇到了这个麻烦,因为我的Activity是singleTask。
  • 我想从其他应用程序中携带文件,并列一个清单。但我不知道如何在我的活动运行时从其他应用程序获取意图。
  • 我没有遇到过这种问题。但是我搜了一下。请参阅此链接:stackoverflow.com/questions/2688763/…。它可能会有所帮助。
  • 好!我已经知道怎么处理了。
猜你喜欢
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 2011-05-16
相关资源
最近更新 更多