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

Android权限限制INSTALL_REFERRER播放商店

元叶秋
2023-03-14

我正在使用自定义分析(而不是谷歌分析)设置活动跟踪,并为此设置接收器。我的接收器似乎在工作,但当我安装时,我收到一个android lint警告:

ExportedReceiver: Receiver does not require permission

它看起来像任何旧的Android应用程序可以调用我的应用程序与com.android.vending.INSTALL_REFERRER意图,我不希望。应该只有谷歌应用商店(或任何其他Android系统应用程序,将安装我的应用程序从play store)发送该意图到我的应用程序。

因此,我试图找出如何设置将有效应用程序限制在play store的权限,但根据文档,我无法找到正确的权限设置方法

https://developer.android.com/guide/topics/manifest/permission-element.html

有人能帮我设置一个权限,将我的应用程序接受此意图的应用程序限制到play store吗?以下是我当前的接收器配置:

    <receiver
            android:name=".referrals.MyCampaignTrackingReceiver"
            android:enabled="true"
            android:exported="true">
        <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER"/>
        </intent-filter>
    </receiver>

我尝试将接收器的权限设置为normal级别,但这阻止了应用程序从playstore接收意图。

共有2个答案

谭成业
2023-03-14

INSTALL_REFERRER广播许可不是一个大问题。假设你知道你只需要在安装后处理一次这个广播,并且你采取措施只处理一次,攻击者将不得不知道你的应用程序何时安装,并以某种方式在Playstore应用程序之前发送这个广播,这似乎不太可能。

夏晋
2023-03-14

您需要在接收器上设置android:permission属性。所以它看起来像这样:

<receiver
        android:name=".referrals.MyCampaignTrackingReceiver"
        android:enabled="true"
        android:exported="true"
        android:permission="android.permission.CLEAR_APP_CACHE">
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER"/>
    </intent-filter>
</receiver>

这里"android.permission.CLEAR_APP_CACHE"的用法是任意的,您可以使用Play Store拥有的任何权限,并且第三方应用程序不可能拥有(因为CLEAR_APP_CACHE的保护级别仅为系统|签名系统应用或使用与声明此权限的应用程序相同的证书签名的应用程序;在本例中为平台)。例如,查看Play Store的清单表明,com.android.vending.permission.C2D_MESSAGE可能是另一个很好的候选。

希望这有帮助。

 类似资料:
  • 本文向大家介绍Android权限控制之自定义权限,包括了Android权限控制之自定义权限的使用技巧和注意事项,需要的朋友参考一下 天哪,这篇文章终于说道如何自定义权限了,左盼右盼,其实这个自定义权限相当easy。为了方便叙述,我这边会用到两个app作为例子示范。 Permission App: used to define a new permission 这个作为定义权限的App,我称之为Pe

  • 进入具体播放器编辑页面,点击域名限制标签,可以为您帐号下的视频设置播放的域名限制。 两种设置方式: ·您的视频在指定域名下无法播放; ·您的视频只能在指定域名下播放。

  • 本文向大家介绍Android Broadcast 和 BroadcastReceiver的权限限制方式,包括了Android Broadcast 和 BroadcastReceiver的权限限制方式的使用技巧和注意事项,需要的朋友参考一下 在Android应用开发中,有时会遇到以下两种情况, 1. 一些敏感的广播并不想让第三方的应用收到 ; 2. 要限制自己的Receiver接收某广播来源,避免被

  • 本页内容包括: 模块和源文件 访问级别 访问级别的使用原则 默认访问级别 单目标应用程序的访问级别 Framework的访问级别 访问控制语法 自定义类型 元组类型 函数类型 枚举类型 原始值和关联值 嵌套类型 子类 常量、变量、属性、下标 Getter和Setter 初始化 默认初始化方法 结构体的默认成员初始化方法 协议 协议继承 协议一致性 扩展 协议的扩展 泛型 类型别名 访问控制可以限定

  • 数据只能由所属的智能合约读写,智能合约默认无法读写其他智能合约的数据。 为了方便用户操作,使用智能合约的私有对象作为数据对象,系统通过反射,获取私有对象所属的智能合约和对象名。其他智能合约无法创建和获取该智能合约的私有对象,就无法读写对应的数据。 如果智能合约希望自己的数据能够被其他智能合约读写,需要智能合约主动提供数据操作接口,其他智能合约通过引用该合约,调用相应接口,从而操作相应数据。 智能合

  • 我想看看我的应用程序是否可以在即时应用程序中完成。我的应用程序是基于从我的船上获取NFC发送的温度。 不幸的是,android开发者网站的常见问题表示,只有以下几个权限可用。 https://developer.android.com/topic/instant-apps/faqs.html 这意味着NFC权限是不可能的? 提前感谢您的回答