3

我正在开发一个访问相机并返回 uri 的应用程序,我将其传递给另一个活动并在 ImageView 中显示提取的位图。一切似乎都很好。这是我用来启动相机意图的代码。

mCameraButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mCameraUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new ContentValues());
            Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCameraUri);
            mtimeCameraAcessed = System.currentTimeMillis();
            startActivityForResult(cameraIntent, RECEIVE_CAMERA_PICTURE);
            overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);

        }

});

但是,我注意到了一个差异。当我的应用程序访问相机时,屏幕底部的图库图标似乎不见了(当您在任何 Android 手机上访问相机应用程序时会出现该图标)。我附上了几张截图来说明这一点。

我希望用户在能够改变主意的同时访问相机,然后在同一屏幕上访问画廊(通过点击画廊图标)。现在,我知道如何通过“Intent.ACTION_PICK”启动画廊意图。我也看过这个问题,但我不完全同意我需要一个自定义相机布局来实现我打算做的事情:Single intent to let user take picture OR pick image from gallery in Android

我之所以这么说是因为,我已经看到诸如 QuickPic 之类的应用程序通过底部的图库图标访问相机应用程序。任何人都可以对此有所了解吗?

带画廊图标的相机

没有图库图标的相机

4

1 回答 1

2

经过深入研究后,我得出结论,这实际上是不可能的。但是,如果需要这样的东西,结合相机 API 的自定义布局将是理想的解决方案。但是后来,我观察到使用camera api有一些问题,例如相机屏幕的外观倾斜。

QuickPic 将用户带到相机屏幕(带有图库图标),但这样做时会将他/她从应用程序中删除。那时,用户基本上使用的是 Android 上的相机应用程序,而不是 Quickpic 应用程序本身。

于 2012-01-24T18:23:14.423 回答