android - 未显示 Android 免安装应用权限请求对话框
问题描述
我目前正在开发适用于 Android 的即时应用程序,我想使用相机。我在片段中请求相机权限,但没有出现权限请求对话框。
这就是我在片段中请求许可的方式:
requestPermissions(new String[]{
Manifest.permission.CAMERA}, 1);
现在我希望显示权限请求对话框,因为它是针对应用程序本身(com.android.application)的。不幸的是,即时应用 (com.android.instantapp) 没有出现它。
另外我发现
@Override
public void onRequestPermissionsResult(final int requestCode, @NonNull final String permissions[], @NonNull int[] grantResults)
{...}
被称为 but with grantResults[0] = -1
,这意味着PackageManager.PERMISSION_DENIED
.
根据即时应用常见问题解答,它应该与应用程序相同:
权限如何在 Google Play Instant 中发挥作用?
Google Play Instant 使用Android 6.0(API 级别 23)中引入的运行时权限模型。
如果我从 Google ( android-topeka )添加 Instant App Demo 项目的权限请求,也会出现同样的问题。
解决方案
我认为这是因为您缺少将相机权限添加到清单。将相机权限添加到您的清单。
<uses-permission android:name="android.permission.CAMERA" />
我希望这能解决你的问题。
推荐阅读
- c# - 在 VS 中设置下一条语句后解决歧义窗口
- java - 将 StringBuilder 拆分为 Array Java 后删除空字符串
- jquery - 填写所有字段时未启用按钮
- java - GoogleSignInOptions default_web_client_id 未解决
- python - 如何使用正则表达式提取字符前后的数字?例如 5x5 或 12x5 - Python
- excel - 在 vba 中使用 .Range 变量会导致运行时错误
- python - 如果数据框内列表中的任何值在另一个列表中,则过滤熊猫数据框行
- r - 如何在 R 包代码中找到函数的代码?
- amazon-web-services - aws CodePipeline 手动审批被跳过
- laravel - Laravel - 导出包含大量数据的 PDF(~10k 行,>80 列)