异常描述
定制化系统的开发,提供一个系统级的app(需要系统权限的那种)
功能就是调用摄像头拍一个照,上传
开始的时候没拿到系统签名,就当一个普通的app在开发,拍照功能是没问题的。
但后面拿到系统签名之后,将app变为系统app:在AndroidManifest.xml里面添加了:
android:sharedUserId="android.uid.system"
然后同样的代码拍照就不行了,resultCode一直等于0
看全局日志,确实有报错:
java.lang.SecurityException: Permission Denial: opening provider androidx.core.content.FileProvider from ProcessRecord{c6f2c54 5010:com.android.camera2/u0a110} (pid=5010, uid=10110) that is not exported from UID 1000
百度了一下,出现问题的原因是:
https://blog.csdn.net/qq_33796069/article/details/98340823
问题怎么解决呢:
如果有编译系统代码的能力,按照上面那个博客的说法,加一个过滤就好了
但如果像我这种系统不是自己这边提供的,就自定义一个拍照页面,调用相机自己拍照,自己保存,亲测可行