- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
自从将 Cordova 应用程序移至 Android Studio 后,我尝试在它上打开相机,但现在它已停止工作。
我没有收到任何权限弹出窗口,也没有在用户端显示任何其他内容。
我在 Android 监视器中收到以下错误
com.ontrac.nutshellmobile E/ViewRootImpl: sendUserActionEvent() returned.
E/DatabaseUtils: Writing exception to parcel
java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=8324, uid=10182 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:616)
at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:487)
at android.content.ContentProvider$Transport.query(ContentProvider.java:216)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
at android.os.Binder.execTransact(Binder.java:573)
我的 list 具有以下权限
<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="26" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
我正在项目结构上运行编译 SDK 版本的 API 26。
我的构建 gradle 文件包含 SDK 版本
minSdkVersion 23
targetSdkVersion 25
compileSdkVersion 26
buildToolsVersion '26.0.0'
我尝试将权限移至 Cordova Android list ,但没有成功。我似乎无法弄清楚是什么导致了错误。
任何帮助将不胜感激。如果需要,我可以提供更多信息。
最佳答案
为了打开相机,您必须安装cordova-plugin-android-permissions。
你必须请求2个权限:READ_EXTERNAL_STORAGE和CAMERA,并在这2个函数的回调函数中打开相机。
js代码示例:
function takePicture() {
var permissions = cordova.plugins.permissions;
permissions.requestPermission(permissions.READ_EXTERNAL_STORAGE,
function (status) {
if (!status.hasPermission)
error();
else
permissions.requestPermission(permissions.CAMERA, success.bind(this),
error);
function error() {
console.warn('CAMERA permission is not turned on');
}
}
, error);
function error() {
console.warn('READ_EXTERNAL_STORAGE permission is not turned on');
}
function success(status) {
if (!status.hasPermission)
error();
else
openCamera();
}
}
function openCamera() {
navigator.camera.getPicture(onSuccess, onFail, {
quality: 25,
destinationType: Camera.DestinationType.DATA_URL
});
function onSuccess(imageData) {
var src = "data:image/png;base64," + imageData;
console.log(src);
alert('got picture!!!');
}
function onFail(message) {
alert('error ' + message);
}
}
takePicture();
关于android - Cordova Android - 无法打开相机 - READ_EXTERNAL_STORAGE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45509225/
这个问题在这里已经有了答案: Writing external storage doesn't work until I restart the application on Android M (
我正在尝试使用 Android 6.0 请求运行时权限。这是我的代码: private void enablePermission() { String[] PERMISSIONS = { M
我正在尝试从存储中读取图像路径,但我一直在此处收到 SecurityException: Caused by: java.lang.SecurityException: Permission Deni
当用户接受READ_EXTERNAL_STORAGE权限时,权限授予成功(在debug中可以看到)。但是在重新启动应用程序之前无法读取目录(dir.canRead() 在调试中为 false)。 mi
我正在尝试创建一个简单的应用程序,它可以从 Gallery 应用程序获取图像并将其显示在 imageButton 上。我正在运行 Android 5.0.1 的手机上使用 API 21 进行测试。不幸
我正在模拟器上测试我的应用。我有一个导出功能,可以在外部存储的下载目录中创建和写入文件。我还有一个导入功能,可以从外部存储的下载目录中读取文件。 来自 Android documentation :
我正在尝试将照片发送到服务器,但我无法仅在 Android 10 上访问该照片。发出 READ_EXTERNAL_STORAGE 请求,单击“允许”,在设置中,允许访问存储。 list fragm
自从将 Cordova 应用程序移至 Android Studio 后,我尝试在它上打开相机,但现在它已停止工作。 我没有收到任何权限弹出窗口,也没有在用户端显示任何其他内容。 我在 Android
我正在尝试获取设备上所有图像的列表。实现这一目标的关键命令是查询命令: Cursor cursor = getContentResolver().query( M
我正在制作画廊。 我得到了以下异常 Caused by: java.lang.SecurityException: Permission Denial: reading com.android.pro
第一次在这里提问。 无论如何,正如标题所说,我正在尝试将我的应用程序转换市场。 当我尝试上传已签名的 apk 时,出现错误: Upload failed Duplicate declarations
我在我的应用程序中使用 MediaStore 类并遇到以下错误 (logcat), E/DatabaseUtils: Writing exception to parcel java.lang.Sec
声明就够了吗?还是我也必须声明 ? Javadocs 省略了这一重要信息。 最佳答案 最好是显式地声明这两个权限,但仅声明 android.permission.WRITE_EXTERNAL_STOR
我正在尝试访问用户设备上的媒体文件(音乐)来播放它们;一个简单的“hello world”——音乐播放器应用。 我遵循了一些教程,它们基本上给出了相同的代码。但这行不通;它一直在崩溃并告诉我: err
在 androidmanifest.xml 我有: 在 build.gradle 我有: android { compileSdkVersion 23 buildTools
我已经阅读了所有类似的问题,但是找不到解决方案。这是android 10。 我需要你的帮助file.isFile()返回true。 但是file.canRead()返回false。因此,FileInp
我想检查我是否需要 Manifest.permission.READ_EXTERNAL_STORAGE 来读取给定的 Uri。 这是正确处理传入 Intent 到我的应用程序所必需的。例如,如果我从
我有一个曾经在 Delphi Seattle 创建的项目,现在我想搬到 Delphi Rio。我使用 findfirst/findnext 读取外部 SD 卡上的目录结构 i := findfir
当 Android 4.1 JellyBean (API 16) 在 Google I/O 上发布时,它引入了以下权限: READ_EXTERNAL_STORAGE Provides protecte
我的应用程序面向 api 级别 32。在 Android 13 设备上运行时,ActivityResultContracts.RequestMultiplePermissions() 始终返回 PER
我是一名优秀的程序员,十分优秀!