首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我们会有这些“无效”的意图?

为什么我们会有这些“无效”的意图?
EN

Stack Overflow用户
提问于 2016-09-05 10:02:24
回答 2查看 940关注 0票数 9

我们有一个可以通过两种方式启动活动的应用程序:

  • 从另一项活动
  • 从深联

据我所知,这件事一直运作得很好。我们要么获得带有数据URI的Intent.ACTION_VIEW,要么得到一些字符串附加信息。

但是,我们有很少几个动作是Intent.ACTION_MAIN的实例,并且没有额外的数据。

意图的toString()如下(类名更改):

代码语言:javascript
复制
Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10400000 cmp=com.example.OurActivity }

Intent.getExtras()返回空,Intent.getDataString()返回空。

在什么情况下会发生这种情况?为什么是Activity Intent.CATEGORY_LAUNCHER的类别?如何获得向用户显示正确内容所需的数据?

未为活动指定launchModeIntentFilter中唯一的AndroidManifest.xml是深度链接(而不是启动程序类别)。

这个问题发生在Android 4-6上,在很多设备上。

编辑:忘记提到标志:

正如打印出来的那样,意图的标志是FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_BROUGHT_TO_FRONT。我想这可能与此有关。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-06 20:13:07

我相信,我做到了:

这里有一些启动程序,比如Nova Launcher,它允许用户从开始使用应用程序的Activities的任何,而不是正常的流:

(例如,),您可以在桌面上添加一个快捷方式来启动带有帐户设置活动的Gmail客户端。

在这种情况下,活动是用空的Extras启动的,从技术上讲,它变成了一个启动程序的Activity

票数 1
EN

Stack Overflow用户

发布于 2016-09-05 10:22:54

现在AndroidManifest.xml被构建系统操作了,您所包含的库通常也会将内容添加到清单中,我怀疑这里可能会发生这种情况。

尽管您声明清单中只有一个IntentFilter,但您是否实际检查了已安装的应用程序以查看其清单显示了什么(而不是依赖于您认为您在源代码中所放的内容)?

在Play Store中提供了各种应用程序,向您展示已安装应用程序的清单--包括AppDe探(我写了这篇文章)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39328157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档