Jak*_*ake 5 android android-activity
在Android中,<activity-alias>的目的是什么?从文档中看来,它只是现有<activity>的另一个名称,其intent intent会覆盖目标活动的过滤器(到目前为止我的理解).
它的实际用途是什么?
调用者是否可以向目标和别名发送意图?
它似乎只是现有的<activity>的另一个名称,其意图过滤器覆盖了目标活动的过滤器(到目前为止我的理解).
我将其定义为"提供额外的过滤器",而不是覆盖.
它的实际用途是什么?
您可以禁用组件,例如<activity-alias>.你不能禁用<intent-filter>元素(虽然这是非常方便).
因此,如果您希望一直有活动,但只有部分时间提供特定的过滤器(或过滤器),<activity-alias>则适合您.
新的存储访问框架提供了一个现代的例子.过去,为了使文档可供第三方应用程序使用,您可以ACTION_GET_CONTENT使用<intent-filter>广告相关的MIME类型(以及可能的,ContentProvider为您的提供商提供路径)来实现活动.但是,如果你是在Android 4.4或以上版本采用存储访问框架,你不想也拥有ACTION_GET_CONTENT可活动-净效应是,你的一切都将出现两次.因此,在Android 4.4+设备上,您需要禁用整个活动(如果您不需要其他任何内容),或者将其ACTION_GET_CONTENT <intent-filter>移至a <activity-alias>,以便您可以单独禁用它.文档中对此进行了更详细的介绍.
TL; DR:我怀疑许多开发人员使用<activity-alias>它,尽管它有它的用例(例如,你的问题评论中引用的启动器).
调用者是否可以向目标和别名发送意图?
嗯,如果那样,你的意思是"我可以startActivity()用来启动活动或别名吗?",然后,是的.
| 归档时间: |
|
| 查看次数: |
844 次 |
| 最近记录: |