未显示Android即时应用权限请求对话框

时间:2018-10-18 11:50:17

标签: android android-permissions android-instant-apps

我目前正在开发适用于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项目添加权限请求,也会发生相同的问题。

2 个答案:

答案 0 :(得分:0)

我认为这是因为您缺少添加相机权限来显示的权限。 将相机权限添加到清单中。

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

我希望这能解决您的问题。

答案 1 :(得分:0)

似乎这仅发生在我的HUAWEI Mate 10 Pro上。我已经在多种设备上进行了测试,并且一切正常。

当前我不知道为什么许可请求在HUAWEI设备上不起作用,但我认为它与EMUI系统有关。