renameTo重命名图像

时间:2018-02-26 08:58:39

标签: java android android-broadcast file-rename android-mediascanner

我正在尝试使用renameTo()在我的应用中重命名图像,但在重命名后会留下一个带有旧文件名和大小为0字节的空缩略图。我该如何解决?

private void renameFileAlert(){
        String renameFile = etRenameFile.getText().toString();
        Log.v(TAG, renameFile + " another");
        String filename= al_images.get(int_position).getAl_imagepath().get(fileIndex);

        File oldFilePath = new File(al_images.get(int_position).getAl_imagepath().get(fileIndex));
        Log.v(TAG,oldFilePath.toString());
        x = al_images.get(int_position).getAl_imagepath().get(fileIndex);
        File renamedFile = new File(oldFilePath.getParentFile(), renameFile);
        Log.v(TAG, renamedFile.toString() + " new name");
        boolean renamed = oldFilePath.renameTo(renamedFile);
        if(renamed){
            Log.v(TAG, "rename done");
        } else Log.v(TAG, "failed");
        MediaScannerConnection.scanFile(PhotosActivity.this,new String[] { renamedFile.toString() }, null, new MediaScannerConnection.OnScanCompletedListener()
        {
            public void onScanCompleted(String path, Uri uri)
            {
                Log.i("ZAA", "Scanned " + path + ":");
                Log.i("ZAA", "-> uri=" + uri);
            }
        });
    }

当媒体扫描仪无法正常工作时,我尝试使用以下代码进行扫描,但它也没有用。

 public final void notifyMediaStoreScanner(File file) {

        getBaseContext().sendBroadcast(new Intent(
                Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file)));

    }

我不知道自己做错了什么。任何人都可以帮我解决这个问题或提出建议吗?

0 个答案:

没有答案