如何查找应用程序对DevicePolicyManager.setApplicationRestrictions的可用限制

ste*_*vev 9 android google-chrome device-policy-manager android-5.0-lollipop

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

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

但我找不到任何其他可以通过这种方式限制的应用程序的文档.有没有人知道可以用这些方法限制的任何其他应用程序,以及可以设置的密钥?

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

use*_*467 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)
    
    Run Code Online (Sandbox Code Playgroud)
  • 解压 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
    
    Run Code Online (Sandbox Code Playgroud)

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