Android(安卓)7.0,8.0拍照loadXmlMetaData(XXXX, java.lang.String)' on a null object reference
16lz
2021-12-18
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference at android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:604) at android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:578) at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:416) at com.xiaoluobei.facedetection.view.activity.FaceBlackInsertOrUpdateActivity$3.onClick(FaceBlackInsertOrUpdateActivity.java:262) at android.support.v7.app.AlertController$AlertParams$3.onItemClick(AlertController.java:1067) at android.widget.AdapterView.performItemClick(AdapterView.java:313) at android.widget.AbsListView.performItemClick(AbsListView.jav
这个错多半是出在provider的包名部分写错了导致没找到报空了,从第4行的日志定位到FaceBlackInsertOrUpdateActivity.java类262行,代码是:
phototUri = FileProvider.getUriForFile( context, context.getPackageName() + ".fileprovider", cameraPhoto);
打断点一看,context.getPackageName()得到的跟manifest得到的包名并不一致,费解,故代码改为:
phototUri = FileProvider.getUriForFile( context, "com.xiaoluobei.facedetection.fileproviders", cameraPhoto);
好用了。
更多相关文章
- Android获取apk的版本及包名等信息
- Android拍照、录像、录音代码范例
- Android开发人员不得不收集的代码
- Android(安卓)drawable 渐变色
- android客户端加密代码
- android 代码混淆总结
- Android(安卓)自动完成文本框的实例
- Android联网方式判断
- Android(安卓)实现SHA1加密算法代码