我目前正在开发适用于Android的即时应用,我想使用相机。 我正在片段中请求摄像机许可,但是没有出现“许可请求”对话框。
这是我在Fragment中请求许可的方式:
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)
{...}
被调用,但带有grantResults[0] = -1
,表示PackageManager.PERMISSION_DENIED
。
根据Instant Apps FAQ,它应该与应用程序相同:
权限如何在Google Play Instant中工作?
Google Play Instant使用Android 6.0(API级别23)中引入的runtime permissions模型。
如果我从Google(android-topeka)向Instant App Demo项目添加权限请求,也会发生相同的问题。
答案 0 :(得分:0)
我认为这是因为您缺少添加相机权限来显示的权限。 将相机权限添加到清单中。
<uses-permission android:name="android.permission.CAMERA" />
我希望这能解决您的问题。
答案 1 :(得分:0)
似乎这仅发生在我的HUAWEI Mate 10 Pro上。我已经在多种设备上进行了测试,并且一切正常。
当前我不知道为什么许可请求在HUAWEI设备上不起作用,但我认为它与EMUI系统有关。