12

新的 Android Lollipop API 提供了一对新的方法来获取和设置其他应用程序的限制:DevicePolicyManager.getApplicationRestrictionsDevicePolicyManager.setApplicationRestrictions

BasicManagedProfile 示例应用程序中有一个示例,通过传递一组似乎与Chrome 发布的策略列表相关的键/值对来设置对 Chrome 应用程序的限制。这对我来说非常有效。

但我找不到任何其他可以以这种方式限制的应用程序的文档。有谁知道可以使用这些方法限制的任何其他应用程序以及可以设置的键?

DevicePolicyManager.getApplicationRestrictions似乎只返回您已经为该应用设置的限制,而不是所有可用限制的列表。我也尝试在 Chrome 上使用RestrictionsManager.getManifestRestrictions但这会返回一个空列表,所以我认为这是不同的。

4

1 回答 1

3

我建议阅读 Google 的构建工作策略控制器的文档。

托管应用程序将包含清单中声明的​​限制文件。企业移动管理合作伙伴可以使用 Google Play API 检索此信息。阅读实施应用程序限制

以下步骤可用于查找 Android 应用程序中的可用限制:

  • 从设备获取 apk。示例:使用以下步骤:

    $ adb shell pm path com.android.chrome
    package:/data/app/com.android.chrome-2/base.apk
    $ adb pull /data/app/com.android.chrome-2/base.apk
    4722 KB/s (32575247 bytes in 6.735s)
    
  • 解压apk文件。app_restrictions.xml在文件夹中查找res/文件。

  • 使用aapt工具从 apk 中检索此文件的内容。例子:

    aapt d xmltree DivideProductivity_1.2_RC05_6-1.apk res/xml/app_restrictions.xml
    aapt d xmltree base.apk res/xml-v21/app_restrictions.xml
    

请注意,使用此机制,您只能查看限制键。您将需要限制类型和其他详细信息来实际设置托管应用程序的限制。正确的方法是从服务器使用 Google Play API。

于 2015-06-23T02:44:32.980 回答