2012-04-03 18 views
1

私のアプリケーションでは、カメラの画像を保存する必要があります。これまでのところ、私は公式のチュートリアルに従った:http://developer.android.com/guide/topics/media/camera.htmlと私はコールバックで画像を保存しようとする以外はすべて正常に動作します。実際、try/catchブロックでエラーは発生しませんが、ファイルはどこにも見つかりません。カメラの画像をファイルに保存すると、ファイルが作成されない

私はmannifestで適切な権限を追加している:私はチェック

04-03 10:29:28.950: D/tag(15087): Je rentre bien dans la callback 
    04-03 10:29:28.960: D/tag(15087): Fichier créer : /mnt/sdcard/Pictures/temp.png 

:私は私のコールバックでは

<uses-permission android:name="android.permission.CAMERA"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

を:

private PictureCallback mPicture = new PictureCallback() 
    { 
     public void onPictureTaken(byte[] data, Camera camera) 
     { 
      Log.d("tag", "Je rentre bien dans la callback"); 

      //File pictureFile = media.getOutputMediaFile(MediaFile.MEDIA_TYPE_IMAGE); 
      File pictureFile = new File(Environment.getExternalStoragePublicDirectory(
        Environment.DIRECTORY_PICTURES), "temp.png"); 


      if (pictureFile == null) 
      { 
       Log.d("tag", "Error creating media file, check storage permissions "); 
       return; 
       } 

      try 
      { 
       FileOutputStream fos = new FileOutputStream(pictureFile); 
       Log.d("tag", "Fichier créer : " + pictureFile.getAbsolutePath()); 
       fos.write(data); 
       fos.close(); 
      } 
      catch (FileNotFoundException e) 
      { 
       Log.d("tag", "File not found " + pictureFile.getAbsolutePath() 
         + " Readable : " + pictureFile.canRead() 
         + " Writeable : " + pictureFile.canWrite() 
         + " Exist : " + pictureFile.exists()); 
      } 
      catch (IOException e) 
      { 
       Log.d("tag", "Error accessing file"); 
      } 
     } 

私のログファイルは、私のこれを示しますタブレットのsdcardが、私はファイルがどこにも見つからないと言ったように。私は自分の問題を研究していますが、まだ役に立たないものは何も見つかりません。 私のコードや何が欠けているのか分かりません。

ここに誰かが私を助けてくれることを願っています。

答えて

0

このことを試してください。

File path = new File(Environment.getExternalStorageDirectory()+ getResources().getString(R.string.QRCode_Path)); 
    path.mkdirs(); 

主なものはあるpath.mkdirs();それが作成されていない場合でも、フォルダを作成し、保存されるファイルになります。

+0

のように試すことができます。それはディレクトリを作成していない。私は保存しているときに断片になっています。何か変わるかどうかわかりません。 04-03 15:48:29.000:D /タグ(18524):Fichiercréer/mnt/sdcard/Pictures/temp.png読み取り可能:true書き込み可能:true存在:true – JT117

2

私は、ファイルがまだどこにも保存されていないもの、それは変わりません、それを試してみました。この

System.gc(); 
String fileName = System.currentTimeMillis()+".jpg"; //you can give any name to your image file 
String mPathImage = Environment.getExternalStorageDirectory()+ "/" + fileName; 
File file = new File(mPathImage); 
Uri outputFileUri = Uri.fromFile(file); 
Intent mIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
mIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
startActivityForResult(mIntent, 1); 
関連する問題