0

アプリのコードで画像ギャラリーを開く必要があります (ギャラリーを開くだけで、ユーザーは画像を選択しません)。私は多くの方法を検索して見つけましたが、それらのいくつかは画像を選択するためだけに機能し、他の方法は機能しませんでした.eg

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);//
startActivityForResult(Intent.createChooser(intent, "Select Picture"),SELECT_IMAGE);

また

 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(
 "content://media/internal/images/media")); 
 startActivity(intent); 

ギャラリーを開くにはどうすればよいですか?

4

1 に答える 1

2
public void pickPhoto(View view) 
    {
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent, "Select Picture"),1);
    }

ここ:

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

    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            // Image captured and saved to fileUri specified in the Intent
            Toast.makeText(this, "Image saved to:\n" +
                     data.getData(), Toast.LENGTH_LONG).show();
             Uri curImageURI = data.getData();
             Bitmap bit = getRealPathFromURI(curImageURI);
             imageView.setImageBitmap(bit);
        } else if (resultCode == RESULT_CANCELED) {
            // User cancelled the image capture
        } else {
            // Image capture failed, advise user
        }
    }

public String getRealPathFromURI(Uri contentUri) {
        String[] proj = { MediaStore.Images.Media.DATA };
        @SuppressWarnings("deprecation")
        android.database.Cursor cursor = managedQuery(contentUri, proj, null,
                null, null);
        int column_index;
        try {
            column_index = cursor
                    .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();
            return cursor.getString(column_index);
        } catch (Exception e) {

            return null;
        }

    }

CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE は、「startActivityForResult(Intent.createChooser(intent, "Select Picture"),1);」の最終番号です。この場合は「1」なので、1 に変更するか、グローバル変数として宣言する必要があります

于 2013-10-19T16:06:14.683 に答える