2016-11-18 3 views
1

Я создал приложение для Android, и я хочу добавить некоторую защиту в меню настроек (и, возможно, другие действия). В частности, я хочу использовать пароль для защиты доступа к активности настроек, чтобы, когда пользователь нажимает кнопку настроек, им нужно ввести пароль, чтобы увидеть и изменить текущие настройки. Имеет ли андроид встроенный способ сделать это? Альтернативой, которую я разработал, было бы использование другого действия для предоставления экрана пароля: когда пользователь нажимает кнопку настроек в меню, он запускает действие с текстовым полем, в которое пользователь вводит пароль. Когда введен правильный пароль, для запуска фактических действий настройки используется намерение. Будет ли это предлагать какую-либо реальную безопасность?Защита активности приложения Android

ответ

1

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

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

Библиотека PasscodeLock-Android, кажется, делает то, что вы хотите, но только для всего приложения, если я не ошибаюсь. Возможно, это поможет вам в реализации.

+1

Это хороший ответ, я просто хотел подчеркнуть, что это зависит от того, от чего вы хотите защитить. Вы не можете запретить пользователю декомпилировать ваш apk и изменить его, чтобы не требовать пароль. Все, что вы даете пользователю, контролируется пользователем, и вы больше не можете доверять ему. Поэтому, хотя реалистично это решение может быть достаточно хорошим, теоретически это не так. Злоумышленник, имеющий физический доступ к телефону, может (по крайней мере теоретически, но также и на практике) просто изменить приложение. Это не просто, но и невозможно. –

+0

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

+0

@GaborLengyel Спасибо за ваш вклад в мой вопрос. Чтобы решить проблему, которую вы подняли: я пытаюсь защитить от того, кто видит/меняет настройки пользователя, например, если они заимствуют телефон пользователя. Я не пытаюсь защитить сохраненные данные, и я не пытаюсь ограничить доступ ко всему приложению, просто к меню настроек специально для просмотра объектов предпочтений. –