2017-02-22 16 views
0

これを正確に見ることはできませんでした。カメラの意図がカメラのアルバムに保存された画像

問題はカメラからファイルを保存するたびに発生します。 カメラアルバム内のファイルを取得します。他のアルバムではありません カメラのアルバムから写真を削除すると、私は突然それを見ることができるアルバム、誰かが私はこれを修正するのに役立つことができますか? なぜこれが起こっていますか?

私は私の活動の結果の上で、その後

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
       if (takePictureIntent.resolveActivity(getPackageManager()) != null) { 
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_ONE); 
       } 

>このように呼んでカメラの意図があります。

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

     WorkingOrdersModel myWorkorder = WorkingOrdersModel.getWorkorderById(selectedWorkorderId); 

     // get images 
     Bundle extras = data.getExtras(); 
     bitmapFromCamera = (Bitmap) extras.get("data"); 

     if (requestCode == REQUEST_IMAGE_ONE && resultCode == RESULT_OK) { 

      createDirectoryAndSaveFile(bitmapFromCamera, myWorkorder.workorderWifiSSID.toLowerCase()+"_one.png"); 

      cameraImageOne.setImageBitmap(bitmapFromCamera); 

     } else if (requestCode == REQUEST_IMAGE_TWO && resultCode == RESULT_OK) { 

      createDirectoryAndSaveFile(bitmapFromCamera, myWorkorder.workorderWifiSSID.toLowerCase()+"_two.png"); 

      cameraImageTwo.setImageBitmap(bitmapFromCamera); 

     } else if (requestCode == REQUEST_IMAGE_THREE && resultCode == RESULT_OK) { 

      createDirectoryAndSaveFile(bitmapFromCamera, myWorkorder.workorderWifiSSID.toLowerCase()+"_three.png"); 

      cameraImageThree.setImageBitmap(bitmapFromCamera); 

     } 
    } 

、最後に保存処理

/** 
    * saves an image from camera in a spacific place 
    * @param imageToSave 
    * @param fileName 
    */ 
    private void createDirectoryAndSaveFile(Bitmap imageToSave, String fileName) { 

     File direct = new File(Environment.getExternalStorageDirectory() + "/WINTouch"); 

     if (!direct.exists()) { 
      File wallpaperDirectory = new File("/sdcard/WINTouch/"); 
      wallpaperDirectory.mkdirs(); 
     } 

     File file = new File(new File("/sdcard/WINTouch/"), fileName); 
     if (file.exists()) { 
      file.delete(); 
     } 
     try { 
      FileOutputStream out = new FileOutputStream(file); 
      imageToSave.compress(Bitmap.CompressFormat.JPEG, 100, out); 
      out.flush(); 
      out.close(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

答えて

0

カメラセーブを撮影された画像は.jpgの画像.../DCIM /カメラとなります。ギャラリーアプリでは、カメラのフォルダに表示されます。

あなたがやっていることは、この写真のサムネイルをMediaStoreに知らせずに別の場所に保存することです。

あなたの意図を少し変えれば、カメラアプリはあなたが提供するパスに画像を保存します。 EXTRA_STREAM EXTRA_OUTPUTのGoogle?

+0

thnx、そのような意図の使い方の例を挙げることはできますか? –

+0

あなたはGoogleでしたか? – greenapps

関連する問題