2013-06-21 3 views
0

Недавно я рассматривал API администрирования устройств Android, чтобы найти способ защитить устройство от принудительного прекращения или удаления определенных приложений. Я наткнулся на wipeData() следующим образом:Как разрешить доступ только для приложения Android для управления данной функцией

http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#wipeData(int)

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

Например, на моем конкретном устройстве я могу выбрать System Settings->Backup & reset->Factory data reset и очистить все. Аналогичный случай может быть сделан для многих других опций, открытых DevicePolicyManager.

При использовании API администрирования устройств существует ли способ отключить эти встроенные функции, чтобы только приложение, зарегистрированное для API администрирования устройств, могло их выполнять?

ответ

1

что я специально после защиты определенных функций, так что пользователь не может получить доступ к ним за пределами приложения, которое было предоставлено политики, менеджер эти функции

Там нет введения мета устройства (т.е. , администрирование админов устройства).

Аналогичный случай может быть сделано для многих других вариантов, раскрываемых DevicePolicyManager

Пользователь имеет возможность не делать почти ничего, предлагаемых DevicePolicyManager.

Например, пользователь не может блокировать камеру с экрана блокировки, а также не может блокировать виджеты приложений с экрана блокировки, поэтому мне пришлось написать утилиту для этого (поскольку я не хотел устанавливать администратор устройства с закрытым исходным кодом из Play Маркета).

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

И так далее.

При использовании API администрирования устройств существует ли способ отключить эти встроенные функции, чтобы только приложение, зарегистрированное для API администрирования устройств, могло их выполнять?

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

+0

Я понимаю ваш пример относительно камеры, но, конечно, пользователь может стереть данные с экрана настроек устройства. Я бы хотел, чтобы пользователь не делал этого за пределами приложения, которому предоставили полномочия для этого. – gonzobrains

+0

Как в стороне, можно ли предоставить приложение, которое было предоставлено DevicePolicyManager, предусматривает возможность деинсталляции, но не возможность принудительного прекращения?При просмотре образца Api Demos от Google кажется, что вы получаете оба, но не одно или другое отдельно. Мне просто интересно, настраивается ли это или нет. – gonzobrains

+0

@ gonzobrains: «но, конечно, пользователь может стереть данные через экран настроек устройства», - согласился. Вы утверждали, что «многие из * других * вариантов» также возможны, и я не согласен. «То, что я хотел бы сделать, - это запретить пользователю делать это за пределами приложения, которому было предоставлено право делать это» - это невозможно, за исключением того, что с помощью модифицированной версии приложения «Настройки» это исключает эти параметры. – CommonsWare