如何检查其他应用程序的Android许可权限

时间:2010-08-02 01:23:09

标签: android android-lvl

我有一个免费的应用程序,它有许多可以为它购买的付费升级应用程序。基础游戏是免费的,并且仍然是用户始终启动的应用程序,它会检测其他应用程序的存在并根据需要解锁各种升级功能。

我想使用新的许可服务来检测购买的应用程序是否获得许可,并将软件包的名称传递给许可服务以验证它是否已获得授权(并盲目跟踪样本我愚蠢地假设传入包名称到混淆器意味着包名称已传递给许可服务器 - oops)。然而,我刚刚意识到这是多么愚蠢,无论如何我都碰壁了:“如果您已经免费发布了应用程序,那么您将无法上传包含许可的更新版本(即,一个使用相同包名并包含许可权限的应用程序)“。

所以,这是一个由两部分组成的问题:有没有计划实现我正在寻找的东西:从免费应用程序内部检查我的其他付费已发布的应用程序是否获得许可?

如果没有,那么实现我所寻求的最佳方式是什么?我想可能会向每个已安装的升级发送一个意图,让他们执行许可检查,然后获得升级以将响应传递回我的基本应用程序。听起来有点乱 - 任何更好的想法?

感谢加载!

1 个答案:

答案 0 :(得分:7)

  

所以,这是一个由两部分组成的问题:有没有计划实现我正在寻找的东西:从免费应用程序内部检查我的其他付费已发布的应用程序是否获得许可?

没有办法做到这一点。

  

如果没有,那么实现我所寻求的最佳方式是什么?我想可能会向每个已安装的升级发送一个意图,让他们执行许可检查,然后获得升级以将响应传递回我的基本应用程序。听起来有点乱 - 任何更好的想法?

这听起来是最合理的做法,假设您没有其他方式在客户端之间进行通信(例如,您可以将许可证状态写入的共享存储)。

您可能希望确保使用自定义权限保护这些方法,以便只有您的应用可以向您的应用广播许可状态。