安卓r上面写了一个ContentProvider的demo,一直报下面的错误
10-24 18:00:08.328 3236 5020 I AppsFilter: interaction: PackageSetting{e08f7bb com.android.demo.contentresolverdemo/10273} -> PackageSetting{18d0c4a com.android.demo.contentproviderdemo/10272} BLOCKED
检查了很久demo并没有问题,只能debug下contentprovider源码,发现安卓r多了一个AppsFilter的类,里面有一个mShouldFilterCache的成员变量记录了每一个uid可被访问的uid
上网查了一下还真是r上新出的机制
Android 11 更改了应用查询用户已在设备上安装的其他应用以及与之交互的方式。使用新的 <queries>
元素,应用可以定义一组自身可访问的其他应用。通过告知系统应向您的应用显示哪些其他应用,此元素有助于鼓励最小权限原则。此外,此元素还可帮助 Google Play 等应用商店评估应用为用户提供的隐私权和安全性。</