如何跨应用程序限制内容提供商数据

2024-01-05

我们如何确保某些应用程序无法访问存储在内容提供商中的我的数据,而某些其他应用程序可以访问该数据?基本上,我需要允许我感兴趣的某些应用程序访问存储在内容提供程序中的数据,但我不希望所有应用程序都能够访问该数据。我怎样才能实现这个目标?

Thanks.


最简单的方法是使用您定义的权限来保护内容提供商。使其成为签名权限,以便只有使用您的证书签名的应用程序才允许获取它。

See:

http://developer.android.com/guide/topics/security/security.html http://developer.android.com/guide/topics/security/security.html

http://developer.android.com/reference/android/R.styleable.html#AndroidManifestProvider http://developer.android.com/reference/android/R.styleable.html#AndroidManifestProvider

http://developer.android.com/guide/topics/manifest/provider-element.html http://developer.android.com/guide/topics/manifest/provider-element.html

如果基于证书执行此操作还不够,您将需要自己编写权限检查。这是通过调用 Binder.getCallingUid() 来获取对应用程序的传入呼叫,并确定给定的 uid 是否有权访问您的提供程序来完成的。然而,实际上实施实际上安全的不同策略需要大量仔细的思考和设计。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何跨应用程序限制内容提供商数据 的相关文章

随机推荐