7

Нового Android Lollipop API предоставляет новую пару методов для получения и установки ограничения на других приложениях: DevicePolicyManager.getApplicationRestrictions и DevicePolicyManager.setApplicationRestrictionsКак найти доступные ограничения о приложении для DevicePolicyManager.setApplicationRestrictions

Там пример из них используется в BasicManagedProfile sample app, чтобы установить ограничения на приложение Chrome, передав набор пар ключ/значение, которые, как представляется, коррелируют с Chrome's published policy list. Это отлично работает для меня.

Но я не могу найти документацию по другим приложениям, которые могут быть ограничены таким образом. Кто-нибудь знает какие-либо другие приложения, которые могут быть ограничены этими методами, и ключи, которые можно установить?

DevicePolicyManager.getApplicationRestrictions только, кажется, возвращает ограничения, которые вы уже установили для этого приложения, а не список всех доступных ограничений. Я также попытался использовать RestrictionsManager.getManifestRestrictions в Chrome, но это возвращает пустой список, поэтому я думаю, что это что-то другое.

+0

Я также сталкиваюсь с той же проблемой. Нет помощи :( –

+0

Я также пробовал с помощью 'Bundle appRestrictions = manager.getApplicationRestrictions (BasicDeviceAdminReceiver.getComponentName (getActivity())," com.adobe.reader "); Log.d (" "," * $%^"+ appRestrictions.toString()); 'that prints 'Bundle [EMPTY_PARCEL]' –

+0

hey @javedsalat Вы когда-нибудь выясняли, что вызывает вызов getApplicationRestrictions, возвращают пустую партию? У меня такая же проблема прямо сейчас, я должен видеть ограничения, но он пуст –

ответ

1

Предлагаю прочитать документацию Google для построения Work policy controller.

Управляемое приложение будет включать файл ограничений, объявленный в манифесте. Партнер по мобильному управлению предприятия может получить эту информацию с помощью API-интерфейсов Google. Читать Implementing App Restrictions

Следующие шаги могут быть использованы для поиска доступных ограничений в андроида приложения:

  • Получить 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) 
    
  • Unzip apk file. Ищите 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 
    

Обратите внимание, что с этим механизмом, вы можете просматривать только ключи ограничения. Вам понадобится тип ограничения и другие сведения, чтобы фактически установить ограничения на управляемое приложение. Правильный способ - использовать API игры Google на сервере.