Android 当应用变为系统级后,无法调用系统提供的拍照功能

异常描述

定制化系统的开发,提供一个系统级的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

问题怎么解决呢:

如果有编译系统代码的能力,按照上面那个博客的说法,加一个过滤就好了

但如果像我这种系统不是自己这边提供的,就自定义一个拍照页面,调用相机自己拍照,自己保存,亲测可行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值