Ionic 应用程序在 Android 模拟器上请求用户对摄像头的许可,但在 Ionic DevApp 中却没有

Ionic app requesting user permission for camera on Android emulator, but not in Ionic DevApp

问题

我目前正在按照本教程学习 Ionic 4 https://ionicframework.com/docs/angular/your-first-app

但是,我打算使用 Capacitor,而不是像教程中那样使用 Cordova。我遵循了 Capacitor setup guide 并使用了他们官方文档中给出的相机示例。

我确保以下权限在 AndroidManifest.xml 中:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

然后我 运行 在我的终端中这样做:

ionic capacitor run android --livereload --external

这会打开 Android Studio 并准备我的项目。

正在开发 Android 模拟器

然后我按下 运行 选择的配置按钮,在我的模拟器上安装应用程序。当我按下相机按钮时,我被要求授予应用权限:

然后它会像这样在模拟器中加载相机,我可以按照本教程的要求拍摄照片(下面嵌入的图片,因为它很大)。

使用 Ionic DevApp 的同一应用出现问题

然而,当我尝试通过在 capacitor.config.json 中手动输入服务器 URL 来在 Ionic DevApp 中使用相机时,系统不会要求我提供上述权限。按完全相同的按钮在应用程序中没有任何反应。

我尝试在我的物理设备上手动授予 Ionic DevApp 应用程序权限,但这似乎无法解决问题,因为按钮仍然没有任何作用。

模拟器

物理设备

图片

Ionic devApp 仅适用于 Cordova

1- 将权限添加到 ionic 应用程序:https://ionicframework.com/docs/native/android-permissions

2-去掉--external因为它不起作用,正确推荐: 离子帽 运行 android --livereload --consolelogs --serverlogs

我不知道为什么它在 --external 模式下不起作用!