公司项目中,有个拍照设置头像功能,某天项目经理跑来跟我说,一台红米测试机上调用不了相机。
我一惊,连忙在小米1S、2S、三星note、华为、魅族上跑了一圈,发现都是好好的。然后看了下代码,感觉没任何问题。
只好告诉他,这是系统差异,不要在意这些细节。
上段调用相机的源码(不知道他们从哪拷来的)
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
SimpleDateFormat timeStampFormat = new SimpleDateFormat(
"yyyy_MM_dd_HH_mm_ss");
String filename = timeStampFormat.format(new Date());
ContentValues values = new ContentValues();
values.put(Media.TITLE, filename);
try {
photoUri = getActivity().getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
getActivity().startActivityForResult(intent, C

在一款公司项目中,遇到红米手机无法调用相机的问题,经过测试其他品牌手机均正常工作。最初认为是系统差异导致,但后来发现其他社交应用可以成功调用相机。经过一番查找和代码分析,发现在第三方应用中存在一些不常见的实现方式,如使用ContextMenu代替Dialog,以及复杂的类调用。最终,通过反编译APK找到问题源头,发现photoUri值为null,揭示了问题所在。

1874

被折叠的 条评论
为什么被折叠?



