跟着视频教程在自学android,在学到ContentProvider组件时,遇到一个问题。
情景: A应用中自定义了ContentProvider组件
B应用中自定义了ConentResolver,访问A应用中的ContentProvider组件
把A应用部署到虚拟机上后,运行B应用。Logcat会报java.lang.SecurityException: Permission Denial: opening provider 异常。
解决方法:在A程序的清单文件中provider组件注册没有添加被外部调用的属性,在清单文件中注册的完整provider代码如下:
< providerandroid:exported ="true"android:name =".provider.UserProvider"android:authorities ="com.example.listview.userprovider" ></ provider >