在Android中导出活动是否允许其他应用程序也调用该活动中的任何公共方法?

时间:2017-08-01 07:49:36

标签: android android-manifest public android-security

在AndroidManifest中设置“exported = true”允许其他应用程序启动该特定活动。这是否也允许其他应用程序手动调用导出的Activity中的任何公共方法?如果是这样,代码怎么做呢?

1 个答案:

答案 0 :(得分:1)

请仔细阅读官方documentation

  

此元素设置是否可以由组件启动活动   其他应用程序 - 如果可以的话true,如果不是false。如果   false,活动只能由相同的组件启动   具有相同用户ID的应用程序或应用程序。如果你正在使用   意图过滤器,您不应该设置此元素false。如果你这样做,   并且一个应用程序试图调用该活动,系统会抛出一个   ActivityNotFoundException。相反,您应该阻止其他应用程序   通过不为其设置意图过滤器来调用活动。

     

如果您没有intent过滤器,则为此元素的默认值   是false。如果您设置元素true,则可以访问该活动   任何知道其确切类名的应用程序,但无法解决   系统尝试匹配隐含的意图。

     

此属性不是限制活动曝光的唯一方法   其他应用。您还可以使用权限来限制   可以调用活动的外部实体(请参阅权限   属性)。