在AndroidManifest中设置“exported = true”允许其他应用程序启动该特定活动。这是否也允许其他应用程序手动调用导出的Activity中的任何公共方法?如果是这样,代码怎么做呢?
答案 0 :(得分:1)
请仔细阅读官方documentation:
此元素设置是否可以由组件启动活动 其他应用程序 - 如果可以的话
true
,如果不是false
。如果false
,活动只能由相同的组件启动 具有相同用户ID的应用程序或应用程序。如果你正在使用 意图过滤器,您不应该设置此元素false
。如果你这样做, 并且一个应用程序试图调用该活动,系统会抛出一个ActivityNotFoundException
。相反,您应该阻止其他应用程序 通过不为其设置意图过滤器来调用活动。如果您没有intent过滤器,则为此元素的默认值 是
false
。如果您设置元素true
,则可以访问该活动 任何知道其确切类名的应用程序,但无法解决 系统尝试匹配隐含的意图。此属性不是限制活动曝光的唯一方法 其他应用。您还可以使用权限来限制 可以调用活动的外部实体(请参阅权限 属性)。