托管配置文件

时间:2018-02-01 16:55:38

标签: android android-permissions mdm android-for-work android-enterprise

我有以下问题:

我的应用程序通过MDM系统分发,并在Android for Work中运行。 在某些情况下,应用程序必须暂时终止DnD模式。要实现此目的,用户必须在应用程序启动时授予DnD权限。

到目前为止一切顺利。如果我在非托管区域安装应用程序,则应用程序会显示在列表中,并且可以毫无问题地授予权限。 只要应用程序通过MDM系统分发,应用程序就不再出现在列表中,并且无法授予权限。所有授权都已在MDM系统中授予。例如,我通过MDM系统分发了Google App。此应用程序显示在列表中。

Screenshot image

在Manifest中,我设置了以下权限:

<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权限才会出现此问题。所有其他权限(例如叠加权限)都会毫无问题地显示。

我希望有人能帮助我。

5 个答案:

答案 0 :(得分:0)

我还没有找到解决该问题的合适方法,但是我找到了一种解决方法来在工作区中显示该应用程序。似乎只有在私有区域中也安装了该应用程序的情况下,该应用程序才会显示在对话框中。 如果该应用程序未安装在私有区域中,它也不会出现在工作区中。 我的解决方法是在专用和工作区中安装该应用程序。授予工作区许可后,我从私人区域中删除了该应用程序。就像我说的那样,这不是解决问题本身的方法,但它确实有效。 对我来说,这似乎是Android中的错误,因为对于所有其他权限,该应用程序都会显示在列表中

答案 1 :(得分:0)

根据Android文档:不可能

用户可以从此处授予和拒绝对“请勿打扰”配置的访问权限。托管配置文件无法授予“请勿打扰”访问权限。

答案 2 :(得分:0)

我们的应用程序SignOnSite存在相同的问题。除非我们也在个人空间中也安装了该应用程序,否则无法访问DnD功能以进行紧急疏散。这样做会冒风险,因此最终只能在个人空间中安装该应用程序。 在我们的MDM中使用Intune。

答案 3 :(得分:0)

很明显,在Google Issue Tracker上已报告有关此问题的信息 https://issuetracker.google.com/issues/77939714

这是Google的回复:

状态:无法解决(预期行为),上午11:41您无法更改DND 托管个人资料应用中的设置。我们将更新 文档来澄清这一点。

还有一个回复说明:

Microsoft Intune发布了完全托管的Android Enterprise Android设备的个人资料设置。 ...它现在可以访问和 授予DnD权限。不知道我们已经走了吗 到完全托管的设备或其他更改。

我相信这实际上是因为设备受到完全管理。

所以根据我的了解,有两种选择:

  • 完全托管的设备(将要求手机恢复出厂设置)
  • 将其安装在个人资料上

答案 4 :(得分:-1)

试试这个 -

Intent intent = new Intent("android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS");
    startActivity(intent);