Java 即时应用上的覆盖权限

Java 即时应用上的覆盖权限,java,android,android-intent,overlay,android-instant-apps,Java,Android,Android Intent,Overlay,Android Instant Apps,我试图使用即时应用程序触发的“浮动小部件”,为此,我需要获得ACTION\u MANAGE\u OVERLAY\u权限,我应该能够通过以下方式获得该权限: intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())); startActivityForResult(intent, APP_PERMISSION_REQUE

我试图使用即时应用程序触发的“浮动小部件”,为此,我需要获得
ACTION\u MANAGE\u OVERLAY\u权限
,我应该能够通过以下方式获得该权限:

intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
               Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, APP_PERMISSION_REQUEST);
不幸的是,当我尝试启动此意图时,出现了此运行时错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.google.android.instantapps.samples.hellofeature/com.instantappsamples.feature.hello.HelloActivity}: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.action.MANAGE_OVERLAY_PERMISSION dat=package:com.google.android.instantapps.samples.hellofeature }
是否可能无法从即时应用程序中获得此权限?
(安装的应用程序运行正常)

即时应用程序对PackageManager的查看有限。我手头没有一个好的参考资料来确定设置,尤其是这个活动,是不可见的。但我们的期望应该是,大多数包中的大多数活动都是不可见的


即使您能够访问此活动(或者,如果您只是作为用户通过在“设置”应用程序中导航到此活动),您的即时应用程序也不允许获得此权限。出于技术原因(因为PackageManager通常不了解即时应用,至少在O之前的版本中是这样),以及策略原因。具体来说,叠加将意味着某种程度的后台操作,这是不允许的。(还请注意,覆盖未列在该页面的允许权限列表中。)

您可以简单地尝试
startActivity(新意图(设置.操作\u管理\u覆盖\u权限))
?如果不起作用:原因:android.content.ActivityNotFoundException:找不到处理意图的活动{act=android.settings.action.MANAGE_OVERLAY_PERMISSION}您使用哪个操作系统版本和设备进行这些测试?这些测试在Nexus 6p和像素模拟器上运行(因为我的手机由于未知原因不支持即时应用程序)从api 24到27。您可以尝试一下吗,它在N
Intent Intent=new Intent上对我有效(“android.settings.action.MANAGE_OVERLAY_PERMISSION”);intent.setData(Uri.parse(“package:+getPackageName());startActivity(intent);