当前位置: 首页 > 知识库问答 >
问题:

为什么Android文档说意向额外服务需要软件包前缀

薛兴言
2023-03-14

根据Android文档,额外的名称必须有一个包前缀。很长一段时间以来,我一直在使用没有前缀的Intent额外名称,似乎不存在冲突的可能性,因为真正重要的是Intent操作的唯一性。那么这些文件是错了还是我遗漏了什么?

putExtra的文件说:

向意图中添加扩展数据。名称必须包含一个包前缀,例如app com.Android联系人将使用“com.android.contacts.ShowAll”等名称。

共有3个答案

澹台俊晖
2023-03-14

来自官方教程:

使用应用程序的包名作为前缀来定义intent extras的键是一种很好的做法。这样可以确保密钥是唯一的,以防你的应用程序与其他应用程序交互。

除非你的应用程序与其他应用程序交互,或者你预见到它将来可能需要这样做,否则你可以安全地在额外的应用程序中省略软件包前缀。

暨正真
2023-03-14

意图可以传递给其他应用程序和它自己的系统,所以礼貌的做法是使用包命名空间。

古弘
2023-03-14

我相信Android docs推荐使用完全合格的额外人员是为了处理一个罕见的边缘案例。当您:

  • 编写一个可以使用公共Intent操作(如Intent)启动的活动。ACTION_VIEW

  • 对于您自己的使用,您希望能够向上述活动传递自定义附加内容,而不干扰正在执行完全相同操作的另一个活动,并且可能具有相同名称但不同含义或格式的附加内容

哇,这听起来很不可能。如果你没有处理公众意图的行为,那么似乎仍然没有必要完全限定你的额外行为,但我想如果你是偏执狂类型,那么一直这样做并没有什么坏处。

 类似资料:
  • 我正在检查Angular Bootstrap UI,特别是服务并注意到一件有趣的事情。 在他们的示例中,'http://plnkr.co/edit/e5xykpqwytsljua6fxwt?p=preview',在附加到弹出窗口的控制器中,他们将选定的项包含到另一个内部属性中 为什么需要这个?JavaScript找到了什么? THX

  • 问题内容: 在Angular Component Router文档中,我偶然遇到了一个从未见过的npm命令,我不知道发生了什么: 是什么意思? 整个字符串是包名吗?但是当我在npmjs.com上使用搜索时,我没有找到该软件包。而且,命令行搜索也不会返回任何此类包: 那么npm中的某种前缀机制呢?以及它如何运作? 问题答案: 这是NPM的一项新功能,称为“作用域软件包”,可有效地使NPM软件包具有名

  • 我正在编写一个小的Java库,其中包含我通常在大多数android应用程序中包含的相关代码。我决定将库导出为一个jar文件,然后将该文件放到我未来项目的libs文件夹中。 null 现在,当我在我的一个android应用程序中使用这个jar时,除了Doc部分之外,所有的一切都像预期的那样运行。当我悬停在我的库的类和方法上时,我看不到我编写的文档注释。 Q1:我是不是又少了一步? Q2:jar文件应

  • 本文向大家介绍为什么我们需要微服务容器?相关面试题,主要包含被问及为什么我们需要微服务容器?时的应答技巧和注意事项,需要的朋友参考一下 要管理基于微服务的应用程序,容器是最简单的选择。它帮助用户单独部署和开发。您还可以使用Docker将微服务封装到容器的镜像中。没有任何额外的依赖或工作,微服务可以使用这些元素。

  • 问题内容: 我的应用程序中有一个弹出模式服务,名为。它只是在上翻转了一些布尔值,从而导致2条指令正确显示/隐藏。这是显示新模态时调用的函数 如您所见,我显示不透明的背景,然后设置了一个名为的变量,该变量随后通过DI传递到我的指令中。但是后来我注意到我的模态没有出现在适当的时候,而是在变量设置为true 之后出现在NEXT摘要循环中。然后,我必须添加作业周围的内容才能使其正常工作。但是,我认为仅当我