нужно знать какой пакет создал / возобновил мою деятельность - PullRequest
2 голосов
/ 15 июня 2011

У меня есть приложение, защищенное паролем.Поэтому я хочу, чтобы диалог пароля отображался при всех вызовах onResume любых моих действий.Дело в том, что я не хочу, чтобы при перемещении по моему собственному приложению отображался диалог пароля.

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

Единственная идея, которую я имею сейчас, - это использовать метод getCallingActivity и проверить, содержит ли он имя моего пакета.Проблема в том, что это заставляет меня использовать startActivityForResult () вместо startActivity (), что очень болезненно, потому что мне нужно найти весь мой код и изменить его.

Ответы [ 2 ]

0 голосов
/ 15 июня 2011

При использовании системы разрешений Android для вашей защищенной деятельности может потребоваться разрешение для запуска. Это разрешение будет определено в вашем манифесте, и оно будет определяться как требование предоставления той же подписи пакета.

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

0 голосов
/ 15 июня 2011

Из вашего внутреннего кода вы можете предоставить дополнительное поле для Intent, которое используется для запуска Activity. В запущенном действии проверьте, существует ли это дополнительное поле, и если это так, вы знаете, что действие было начато из внутреннего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...