android setcomponent 作用,android – setPackage用于姜饼的意图

Alternatively, starting with ICE_CREAM_SANDWICH, you can also safely restrict the broadcast to a single application with Intent.setPackage

在Gingerbread中是否有任何方法(可能使用兼容性库)限制sendBroadcat()事件,使其仅将其发送到指定的包?

解决方法:

我的第一个建议是尽可能使用LocalBroadcastManager.这允许您完全忽略任何安全问题.

如果你确实需要将广播从一个应用程序发送到另一个应用程序,那么在ICS之前,registerReceiver()确实不尊重setPackage限制,因此在此之前你不能依赖它.没有任何秘密技巧可以做你想要的,只是平台没有它的设施.

那说……如果你要指定一个明确的包名,为什么不一直走到使用Intent.setComponent()?

还要记住,即使setPackage()或setComponent()也不会自动完全安全 – 您仍然假设您知道谁正在实现该软件包名称,并且完全有可能使用不同于您期望的应用程序.即使您在Play商店中拥有该名称,也可以通过侧载进行安装.

标签:android,broadcastreceiver

来源: https://codeday.me/bug/20190621/1251007.html

你可能感兴趣的:(android,setcomponent,作用)