我正在开发一个访问相机并返回一个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这样的应用程序可以通过底部的图库图标访问相机应用程序。任何人都可以对此有所了解吗?
答案 0 :(得分:2)
经过深入研究后,我得出结论,这实际上是不可能的。但是,如果需要这样的东西,自定义布局与相机api相结合将是理想的解决方案。但后来我发现使用相机api存在一些问题,例如相机屏幕的外观偏斜。
QuickPic将用户带到相机屏幕(带有图库图标),但同时将他/她从应用程序中删除。此时,用户基本上是在Android上使用相机应用程序而不是Quickpic应用程序本身。