安卓媒体库无法设置文件名

4
我正在尝试使用Android的MediaStore将一张图片写入SD卡,并指定文件名。它可以成功写入文件,但是没有使用与title参数一起传递的标题。
MediaStore.Images.Media.insertImage(cr, source, title, description)

以下是相关代码:

PictureCallback myPictureCallback_JPG = new PictureCallback(){

     public void onPictureTaken(byte[] arg0, Camera arg1) {
      Bitmap bitmapPicture = BitmapFactory.decodeByteArray(arg0, 0, arg0.length);

        int year = Calendar.getInstance().getTime().getYear();
        int month = Calendar.getInstance().getTime().getMonth();
        int day = Calendar.getInstance().getTime().getDay();

        int hour = Calendar.getInstance().getTime().getHours();
        int minute = Calendar.getInstance().getTime().getMinutes();
        int seconds = Calendar.getInstance().getTime().getSeconds();

        String imgName = "IMG_" + Integer.toString(year) + Integer.toString(month) +Integer.toString(day) + "_" + Integer.toString(hour) + Integer.toString(minute)
                          + Integer.toString(seconds) + ".jpg";         

        MediaStore.Images.Media.insertImage(getContentResolver(), bitmapPicture, imgName, imgName);    

        camera.startPreview();
        inPreview=true;
     }};

它成功地存储了图片,但是文件名似乎是自 Unix 纪元以来的时间(即 13168297...16.jpg)。

1个回答

0
我没有让MediaStore工作,但我使用了File类和FileOutputStream完成了任务:
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        bitmapPicture.compress(Bitmap.CompressFormat.JPEG, 100, bytes);

        File imageDirectory = new File(Environment.getExternalStorageDirectory() + File.separator + "DropPic 64");

        imageDirectory.mkdirs();

        File f = new File(Environment.getExternalStorageDirectory()
                                + File.separator + "DropPic 64" + File.separator + currentPicture.fileName);
        try {
            f.createNewFile();
            FileOutputStream fo = new FileOutputStream(f);
                fo.write(arg0);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接