2013-07-24 3 views
0

В моем приложении я использую камеру мобильных телефонов и сохраняю изображение на SD-карте. Проблема в том, что изображение также сохраняется в памяти мобильных телефонов. Есть ли способ, которым я не могу остановить это?Android - Как остановить камеру от сохранения на телефоне

Это код для запуска намерения камеры:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     startActivityForResult(cameraIntent, CAMERA_REQUEST); 

Это код, чтобы сохранить изображение на SD-карта:

String root = Environment.getExternalStorageDirectory().toString(); 
    File myDir = new File(root + "/wardrobe_app");  
    myDir.mkdirs(); 
    Random generator = new Random(); 
    int n = 10000; 
    n = generator.nextInt(n); 
    String fname = "Image-"+ n +".jpg"; 
    File file = new File (myDir, fname); 
    if (file.exists()) file.delete(); 
    try { 
      FileOutputStream out = new FileOutputStream(file); 
      finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out); 
      out.flush(); 
      out.close(); 

    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
    file_path = myDir.toString(); 
    img_path = file_path + "/" + fname; 
    Toast t = Toast.makeText(addClothing.this, 
      img_path, Toast.LENGTH_LONG); 
    t.show(); 

И это код, чтобы установить ImageView в сделанный снимок:

if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) { 
     photo = (Bitmap) data.getExtras().get("data"); 
     iv1.setImageBitmap(photo); 
     SaveImage(photo); 
    } 

Благодарим за помощь!

ответ

1

К сожалению, я считаю, что это невозможно без корня, по крайней мере, с намерениями. Ваш код не является проблемой; это связано с тем, как работает приложение камеры - когда пользователь делает снимок, само приложение камеры сохранит это изображение в памяти устройства и вернет растровое изображение. Таким образом, это полностью вне вашего контроля, если у вас нет root и вы можете использовать отражение, чтобы изменить приложение камеры, чтобы предотвратить сохранение.

Другой вариант - использовать API-интерфейс камеры непосредственно в приложении.

Смежные вопросы