相关疑难解决方法(0)

从特定应用限制Android广播接收器

我有2个申请.
如果我使用服务,我可以设置权限,因此只能app1发送意图app2:
app2(protection level: signature)中定义权限,并使用该权限app1.
服务进入app2受该权限保护.
通过这种方式,只能app1向服务发送意图app2,而没有其他应用程序(除非我的签名被泄露)可以发送意图服务app2.

我可以用广播接收器做同样的事情吗?

  • app1:sendBroadcast(意图,权限)
  • app2:定义权限,使用该权限.

根据我对使用sendBroadcast(意图,权限)的理解,应用程序不需要"使用"权限.含义任何应用程序都可以发送意图app2.仅检查这些权限参数 app2,以避免其他应用程序接收此意图.(如果我删除app2,并app2使用定义的相同权限字符串安装假,假冒app2可以获得意图app1,这是意外的)

顺便说一句,如果应用程序定义权限并自己使用它,则protectionLevel(签名)似乎没有任何意义.这是真的?

现在,我可以设置其他权限:

  • app1:定义权限,使用该权限.
  • app2:Receiver仅限于该权限.

再一次,如果一个删除app1,app1使用相同的权限安装假,那么假app1可以发送假意图app2.我该怎么做才能防止app2接受假意图?

谢谢

android broadcastreceiver android-permissions

6
推荐指数
1
解决办法
1万
查看次数