1) Вы можете установить таймер, и когда пользователь взаимодействует с приложением, вы отменяете его, после взаимодействия вы запускаете его снова. Затем, когда истекает время таймера, вы запускаете действие входа в систему с помощью флага Intent и Intent, используя флаг FLAG_ACTIVITY_CLEAR_TOP, этот флаг завершит все действия в задаче, которые находятся над действием корневого входа в систему.
2) Вы можете настроить фильтр намерений для SMS, а когда приходит нужное SMS, вы можете отключить приложение, чтобы оно не могло быть запущено, отметьте этот вопрос для этого.