关于小米手机无法将照片添加到图库解决方法

您所在的位置:网站首页 小米无法保存图片怎么办 关于小米手机无法将照片添加到图库解决方法

关于小米手机无法将照片添加到图库解决方法

2024-06-08 19:08| 来源: 网络整理| 查看: 265

安卓把照片加载到图库 (Add the Photo to a Gallery)

http://developer.android.com/intl/zh-cn/training/camera/photobasics.html

官方的指导已经说的很明确了,但有几个需要注意的小地方,稍不留神就会犯错

1 官方文档不严谨

在创建文件的最后有这样一句

mCurrentPhotoPath = "file:" + image.getAbsolutePath(); return image;

这是添加到相册的代码

private void galleryAddPic() { Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); File f = new File(mCurrentPhotoPath); Uri contentUri = Uri.fromFile(f);//这一句有错误 mediaScanIntent.setData(contentUri); this.sendBroadcast(mediaScanIntent); }

因为先前已经增加了file:”,所以再一次解析uri就会有问题,应当Uri.fromfile时候直接传入保存的图片就行

2 小米手机无法添加到相册

注意在创建文件的时候的这一句

File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);

小米手机会发现在sd卡下找不到Picture这一个文件夹,默认照相机是放在sdcard下DCIM/Camera这一个文件夹,这个文件夹对外是可读可写的,也就是说我们应用通过调用系统相机,可以把图片放在这里

3 全部代码 //点击这个按钮开启系统相机,并且添加到相册 public void photo(View view){ try { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); photoFile = createImageFile(); takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile)); startActivityForResult(takePictureIntent, 1); //startActivity(takePictureIntent); } catch (IOException e) { e.printStackTrace(); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // super.onActivityResult(requestCode, resultCode, data); Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); File f = new File(mCurrentPhotoPath); Uri contentUri = Uri.fromFile( photoFile ); System.out.println(contentUri.toString()); mediaScanIntent.setData(contentUri); this.sendBroadcast(mediaScanIntent); } private File createImageFile() throws IOException { // Create an image file name /* String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); String imageFileName = "JPEG_" + timeStamp + "_"; File storageDir = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES); File image = File.createTempFile( imageFileName, ".jpg", storageDir ); */ String timeStamp = new SimpleDateFormat("HHmmss").format(new Date()); File image = new File(Environment.getExternalStorageDirectory(),"DCIM/Camera/"+timeStamp+".jpg"); // Save a file: path for use with ACTION_VIEW intents mCurrentPhotoPath = image.getAbsolutePath(); return image; }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3