我有以下问题:
我的应用程序是在MDM系统上发布的,并在Android中运行。在某些情况下,应用程序必须暂时终止DnD模式。要实现这一点,用户必须在应用程序启动时授予DnD权限。
到目前一切尚好。如果我将应用程序安装在非托管区域,应用程序将显示在列表中,并且可以在没有任何问题的情况下授予权限。一旦应用程序通过MDM系统分发,应用程序就不再出现在列表中,并且不能授予权限。所有授权都是在MDM系统中授予的。例如,我已经在MDM系统上分发了Google应用程序。此应用程序出现在列表中。
在“宣言”中,我设置了以下权限:
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
启动应用程序时,将执行以下代码:
NotificationManager nm = (NotificationManager).getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M && !nm.isNotificationPolicyAccessGranted()) {
Intent intent = new
Intent(Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS);
startActivity(intent);
}
此问题仅在DnD权限下发生。所有其他权限,如覆盖权限,都是无问题地显示的。
我希望任何人都能帮我。
发布于 2019-07-08 05:56:40
根据Android文档:不可能
用户可以从这里授予和拒绝不干扰配置的访问权限。托管配置文件不能授予“不干扰”访问权限。
发布于 2019-02-14 10:26:51
我还没有找到一个正确的解决方案,但我找到了一个解决办法,以显示应用程序的工作区域。似乎该应用程序只显示在对话框中,如果同样的应用程序也安装在私人区域。如果应用程序没有安装在私人区域,它也不会出现在工作区。我的解决办法是在私人和工作区域安装这个应用程序。在工作区域获得许可后,我将应用程序从私人区域删除。就像我说的,这本身并不是问题的解决方案,但它奏效了。在我看来,这就像是Android中的一个bug,因为对于所有其他权限,应用程序都会出现在列表中。
发布于 2020-02-21 08:40:55
显然,在Google问题跟踪器https://issuetracker.google.com/issues/77939714上有关于这方面的报道。
以下是谷歌的回复:
状态:不会修复(预定行为)11:41 a,您不能从托管配置文件应用程序中更改DND设置。我们将更新文件以澄清这一点。
还有一份答复指出:
微软公司已经为Android设备发布了完全管理的设置。..。现在,它可以访问并授予DnD权限。不确定这是因为我们已经使用了完全管理的设备,还是其他的东西已经改变了。
我相信这实际上是因为这个设备是完全管理的。
因此,根据我的不足,有两种选择:
https://stackoverflow.com/questions/48567956
复制相似问题