【问题标题】:Android managed configurations providerAndroid 托管配置提供程序
【发布时间】:2017-01-17 14:23:28
【问题描述】:

设置托管配置页面的overview部分声明如下:

应用定义可远程设置的托管配置选项 由管理员。这些是可以更改的任意设置 由托管配置提供程序提供。
[...]
托管配置提供程序是在同一设备上运行的另一个应用程序。

然后该页面描述了如何设置托管应用程序,但没有关于以下内容的任何进一步信息:“托管配置提供程序应用程序” - 如果我理解正确,该应用程序负责发送 ACTION_APPLICATION_RESTRICTIONS_CHANGED 时配置已更改。

我的问题是这个“供应商应用”是什么类型的应用?这个应用程序是否应该实现任何 Android API 以充当配置提供者?这个配套应用如何将配置更改挂钩到RestrictionsManager,以便托管应用能够检索它们?

我在这里问这个问题是因为很遗憾我在 Android 文档中没有找到任何参考资料。

【问题讨论】:

  • ACTION_APPLICATION_RESTRICTIONS_CHANGED 是一个受保护的意图,只能由系统发送。它不会由“托管配置提供者”发送。

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


【解决方案1】:

这个“供应商应用”是什么样的应用?

配置提供程序应用是在设备上运行的另一个应用。此应用程序通常由管理员控制。管理员将配置更改传达给提供者应用,而此应用反过来更改托管应用上的配置。

查看 BasicManagedProfile 示例:https://github.com/googlesamples/android-BasicManagedProfile。正是这种应用。

此应用是否应实现任何 Android API 以充当 配置提供者?

是的,此应用应要求配置托管配置文件:

Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE);
intent.putExtra(EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,
                        activity.getApplicationContext().getPackageName());
if (intent.resolveActivity(activity.getPackageManager()) != null) {
    startActivityForResult(intent, REQUEST_PROVISION_MANAGED_PROFILE);
    activity.finish();
} else {
    Toast.makeText(activity, "Device provisioning is not enabled. Stopping.",
                                                  Toast.LENGTH_SHORT).show();
}

这个配套应用程序如何将配置更改挂钩到 RestrictionsManager,以便被管理的应用程序能够检索 他们?

它使用 DevicePolicyManager 对托管应用实施限制:

DevicePolicyManager manager = (DevicePolicyManager) getActivity().getSystemService(Context.DEVICE_POLICY_SERVICE);

Bundle settings = new Bundle();
settings.putBoolean("downloadOnCellular", true);

manager.setApplicationRestrictions(
        BasicDeviceAdminReceiver.getComponentName(getActivity()),
        PACKAGE_NAME_MANAGED_APP, settings);

再一次,看看在示例项目中这是如何完成的。

【讨论】:

  • 这个Configuration provider app可以是MDM吗?如果是,那么例如我正在使用 Microsoft Intune,如何将应用配置从 Intune 推送到应用?
猜你喜欢
  • 2017-12-24
  • 1970-01-01
  • 2014-10-28
  • 2022-09-27
  • 2021-01-05
  • 2020-08-12
  • 1970-01-01
  • 2010-09-08
  • 2015-07-22
相关资源
最近更新 更多