android - intent动作命名空间

时间:2014-06-21 21:12:19

标签: android android-intent

Android的意图documentation声明:

  

操作必须位于命名空间中,因为Intents在系统中全局使用

这个名称空间概念是否仅仅意味着如果我不使用我的应用程序的程序包名称作为自定义操作名称的前缀,那么它可能会与不同的操作名称冲突应用程序,所以当某个应用程序使用intent时,由于我的名字冲突,它可能会启动错误的组件。当涉及到意图中的命名空间时,还有更多需要担心的细节吗?

1 个答案:

答案 0 :(得分:1)

  

这个名称空间概念是否仅仅意味着如果我不使用我的应用程序的程序包名称作为自定义操作名称的前缀,那么它可能会与不同的操作名称冲突应用程序,所以当某个应用程序使用意图时,由于我的名字冲突,它可能会启动错误的组件。

或多或少。

  

当涉及到意图中的命名空间时,是否需要担心更多细节?

对于您要解决的任何问题,创建自定义操作不太可能是正确的解决方案。一个用例是,如果您打算说服第三方开发人员专门调用您的某个活动,可能是您为此类开发人员创建的SDK的一部分。这很合理,只是不太可能。另一个用例是,如果您有一套应用程序试图在特定位置进行相互链接。这有点可能,但是做得好也会成为一个问题 - 默认情况下,系统中的任何应用程序都可以在他们选择的情况下启动该活动,并确保可能变得棘手。

请注意,对于应用程序专用的活动,您既不需要也不需要任何类型的操作字符串。这是因为您既不想要也不需要<intent-filter>用于您应用专用的活动。只需使用显式Intent来调用此类活动。