新的Android Lollipop API提供了一对新的获取和设置其他应用限制的方法:DevicePolicyManager.getApplicationRestrictions和DevicePolicyManager.setApplicationRestrictions
通过传递一组似乎与BasicManagedProfile sample app相关的键/值对,Chrome's published policy list中有一个示例用于设置对Chrome应用的限制。这对我很有用。
但我找不到任何其他可以通过这种方式限制的应用程序的文档。有没有人知道可以用这些方法限制的任何其他应用程序,以及可以设置的键?
DevicePolicyManager.getApplicationRestrictions似乎只返回您已为该应用设置的限制,而不是所有可用限制的列表。我也尝试在Chrome上使用RestrictionsManager.getManifestRestrictions,但这会返回一个空列表,所以我认为这是不同的。
答案 0 :(得分:1)
我建议您阅读Google的文档,了解如何构建Work policy controller。
托管应用程序将包含清单中声明的限制文件。企业移动管理合作伙伴可以使用Google Play API检索此信息。 阅读Implementing App Restrictions
以下步骤可用于查找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。