带有画廊的意图 ACTION.IMAGE.CAPTURE

Posted

技术标签:

【中文标题】带有画廊的意图 ACTION.IMAGE.CAPTURE【英文标题】:Intent ACTION.IMAGE.CAPTURE with gallery on it 【发布时间】:2019-06-16 06:03:48 【问题描述】:

我想在我的应用上打开一个相机 Intent,但我需要像 Whatsapp 一样查看其上的图库。我认为这都是关于权限的,但我不知道如何实现它。 这是一个image of whatsapp 相机。相机上有图库文件。

这是我的代码:

private void addPhoto() 
    String [] perm = Manifest.permission.CAMERA,Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE;
    if (checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED
            || checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
            || checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) 
        ActivityCompat.requestPermissions(this, new String[]Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA, 1);

    else
        Intent photo = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(photo, 0);
    


和清单

<uses-feature android:name="android.hardware.camera" />

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

感谢您的帮助,对我的英语感到抱歉。

【问题讨论】:

【参考方案1】:

您无法以任何特定方式控制通过 ACTION_IMAGE_CAPTURE 启动的相机应用的 UI(因为如果用户更改了默认设置,您甚至不知道可以启动哪个应用)。

所以这是不可能的;如果您需要对 UI 进行如此多的控制,则需要从头开始构建自己的相机 UI。

【讨论】:

哦,真难过!非常感谢!

以上是关于带有画廊的意图 ACTION.IMAGE.CAPTURE的主要内容,如果未能解决你的问题,请参考以下文章

如何使用意图打开指定文件夹中的画廊

相机意图/活动 - 避免保存到画廊

Android - 相机和画廊意图后的裁剪给出了奇怪的结果

隐含意图:将图像从画廊分享到我的应用程序

从android中的意图选择器中选择选项(相机或画廊)后请求权限

图片来自相机或画廊?