2015-02-18 2 views
0

Я делаю снимок со встроенной камерой, и моему приложению просто нужно изображение для создания одного растрового изображения. Можно ли избежать сохранения изображения в галерее, не создавая собственную камеру? Вот мой текущий код, чтобы сделать снимок.Android-съемка для временного использования с намерением камеры

public void open() { 
    Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(intent, 1); 
} 
static Bitmap bp; 

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    bp = (Bitmap) data.getExtras().get("data"); 
    onNavigationDrawerItemSelected(currentPosition); 

    } 

ответ

1

Nop, но вы можете удалить его, попробуйте этот код:

private void DeletePicTaken(){ 
      final String[] imageColumns = { BaseColumns._ID, MediaColumns.DATA }; 
      final String imageOrderBy = BaseColumns._ID + " DESC"; 
      Cursor imageCursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, imageColumns, null, null, imageOrderBy); 
      if(imageCursor.moveToFirst()){ 
       //int id = imageCursor.getInt(imageCursor.getColumnIndex(MediaStore.Images.Media._ID)); 
       String fullPath = imageCursor.getString(imageCursor.getColumnIndex(MediaColumns.DATA)); 
       //imageCursor.close(); 
       File file = new File(fullPath); 
       file.delete(); 
      } 


     } 

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    bp = (Bitmap) data.getExtras().get("data"); 
    onNavigationDrawerItemSelected(currentPosition); 
    DeletePicTaken(); 
    } 
+0

я нашел причину аварии (я пропускал разрешение READ_EXTERNAL_STORAGE в манифесте), однако изображение в галерее persists – Lijap

+0

Для тех, кто использует это решение, убедитесь, что у вас есть как READ_EXTERNAL_STORAGE, так и WRITE_EXTERNAL_STORAGE разрешения в манифесте. Также необходимо было обновить мою галерею, иначе у меня было бы пустое изображение вместо удаленной; этот код выполняет это: sendBroadcast (новый Intent (Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile (lastSavedImage))); LastSavedImage - ваш удаленный файл. – Lijap

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