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 应用程序权限,但这似乎无法解决问题,因为按钮仍然没有任何作用。
模拟器
- 模拟器API:28
- 模拟器Android目标:Android9.0
物理设备
- 实体设备:三星S8+
- Android版本:Android9.0
图片
Ionic devApp 仅适用于 Cordova
1- 将权限添加到 ionic 应用程序:https://ionicframework.com/docs/native/android-permissions
2-去掉--external因为它不起作用,正确推荐:
离子帽 运行 android --livereload --consolelogs --serverlogs
我不知道为什么它在 --external 模式下不起作用!
问题
我目前正在按照本教程学习 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 应用程序权限,但这似乎无法解决问题,因为按钮仍然没有任何作用。
模拟器
- 模拟器API:28
- 模拟器Android目标:Android9.0
物理设备
- 实体设备:三星S8+
- Android版本:Android9.0
图片
Ionic devApp 仅适用于 Cordova
1- 将权限添加到 ionic 应用程序:https://ionicframework.com/docs/native/android-permissions
2-去掉--external因为它不起作用,正确推荐: 离子帽 运行 android --livereload --consolelogs --serverlogs
我不知道为什么它在 --external 模式下不起作用!