Показать последнюю картинку - PullRequest
0 голосов
/ 31 марта 2010

Привет! Я вставляю изображение с камеры (фотосъемку) в хранилище данных MediaStore.Images.Media.

Кто-нибудь знает, как я могу показать последний сделанный снимок?

Я использовал Uri image = ContentUris.withAppendedId (externalContentUri, 45); отображать изображение из хранилища данных, но, очевидно, 45 не является правильным изображением.

Я пытаюсь передать информацию из предыдущего действия (Камера) в действие отображения, но я предполагаю, что из-за обратного вызова фотографий, являющегося его собственным потоком, значение никогда не устанавливается. Код фотографии выглядит следующим образом

Camera.PictureCallback photoCallback = новая камера.PictureCallback () {

    public void onPictureTaken(byte[] data, Camera camera) {
        // TODO Auto-generated method stub
        FileOutputStream fos;
        try
        {
            Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
            fileUrl = MediaStore.Images.Media.insertImage(getContentResolver(),  bm, "LastTaken", "Picture");

            if(fileUrl == null)
            {
                Log.d("Still", "Image Insert Failed");
                return;
            } else
            {

                 picUri = Uri.parse(fileUrl);
                sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, picUri));
            }
        }
        catch(Exception e)
        {
            Log.d("Picture", "Error Picture: ", e);
        }
        camera.startPreview();

    }
};

1 Ответ

1 голос
/ 01 апреля 2010

Вы можете использовать что-то вроде этого, чтобы получить последнее снятое изображение

    final ContentResolver cr = getContentResolver();
    final String[] p1 = new String[] {
            MediaStore.Images.ImageColumns._ID,
            MediaStore.Images.ImageColumns.DATE_TAKEN
    };
    Cursor c1 = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, p1, null, null,
            p1[1] + " DESC");

    if ( c1.moveToFirst() ) {
        Log.d(TAG, "last picture (" + c1.getInt(0) + ") taken on: " +
                          new Date(c1.getLong(1));
    }

    c1.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...