1

皆さん、こんにちは。

次のコードを使用しています。

                String fileName = "image" + "_" + title.getText().toString()+"_" + val.toString(); 
                photo = this.createFile(fileName, ".jpg");
                intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
                uriOfPhoto = Uri.fromFile(photo);
                startActivityForResult(intent, RESULT_CAMERA_SELECT);
            }
        }
        catch(Exception e)
        {
            Log.v("Error", "Can't create file to take picture!");
            displayAlert("Can't create file to take picture!","SDCard Error!");
        }
    }

    private File createFile(String part, String ext) throws Exception
    {
        File tempDir = new File (Environment.getExternalStorageDirectory() + "/MyFolder/Images");
        if(!tempDir.exists())
        {
            tempDir.mkdir();
        }
        tempDir.canWrite();
        return new File(tempDir, part+ext);
    }
});

デバッグでキャッシュされUriOfPhotoていません。uriStringファイルの URI を保存していません。この問題を解決するにはどうすればよいですか。

authority   Uri$Part$EmptyPart  (id=830004244032)   
fragment    Uri$Part$EmptyPart  (id=830004245408)   
host    "NOT CACHED" (id=830003914304)  
path    Uri$PathPart  (id=830067926736) 
port    -2  
query   Uri$Part$EmptyPart  (id=830004245408)   
scheme  "file" (id=830002660688)    
ssp null    
uriString   "NOT CACHED" (id=830003914304)  
userInfo    null    

よろしくお願いします

4

2 に答える 2

0
String fileName = Environment.getExternalStorageDirectory() + "/MyFolder/Images" + fileName + ".jpg";
UriOfPhoto = Uri.parse(fileName);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra(MediaStore.EXTRA_OUTPUT,  UriOfPhoto);
startActivityForResult(intent, RESULT_CAMERA_SELECT);

また、写真を保存するためのファイルを作成する必要はありません。写真が上記のようになっている必要があるuriを渡すだけで、Android OSはファイルを作成し、キャプチャした画像をそのuriに保存します。

于 2012-04-13T02:35:42.987 に答える
0

This isn't enough info. What action are you putting into the intent you send? Are you sure that createFile actually creates a file?

The error listing you give isn't very useful. Is it part of the listing of variable values from debug? If so, where are you in the code when you look at the values?

于 2012-04-13T00:07:26.680 に答える