Как запустить приложение для Android в расширенном или пользовательском режиме; приложение считывает переменную при запуске

Извините, это будет общий вопрос, так как я даже не знаю, с чего начать. Что я хочу: у меня есть приложение на Android (бонус, если решение работает на iOS), где одно и то же приложение может отображать разные представления в зависимости от того, являетесь ли вы конечным пользователем или техническим специалистом. Мне нужен какой-то ПРОСТОЙ метод, при котором приложение при запуске может считывать переменную. Я много читал о ярлыках, быстрых действиях, переменных среды и т. д. и т. д., но я не могу найти ничего, что не требовало бы столько программирования, как само приложение! Я могу придумать два подхода…

  • длительное нажатие на значок, который дает возможность запуска в расширенном режиме, передав аргумент в приложение
  • некоторый параметр, который может быть прочитан приложением при запуске, похож на переменную среды в другой ОС. Может кто-нибудь, пожалуйста, отправьте меня в правильном направлении. Может быть, есть стандартный способ сделать это, о котором я просто не знаю? Большое спасибо!

person Knut    schedule 22.08.2020    source источник
comment
Как будет установлена ​​эта переменная?   -  person David Wasser    schedule 22.08.2020


Ответы (2)


Вы можете предоставить пользователю диалоговое окно при первом запуске. Он может указать свою роль, либо выбрав одну, либо введя пароль или активирующий код.

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

Или вы можете по умолчанию использовать поведение приложения для пользователя, и если пользователь выполняет определенный магический жест (например, проведите пальцем вправо, проведите пальцем влево, проведите пальцем вправо), тогда будет включен технический режим.

person David Wasser    schedule 22.08.2020
comment
Все ваши предложения являются действительными решениями. То, на что я надеялся, ближе всего к последнему, когда приложение запускается по умолчанию в пользовательском режиме. Проблема, с которой я столкнулся, заключается в том, что приложение должно запускаться с другим поведением, которое, как я надеялся, пользователь не увидит. Поэтому в идеале я бы хотел, чтобы приложение читало переменную при запуске. Старт сложный, приложение подключается к BLE и делает кучу других вещей. Если вы пользователь, некоторые вещи будут скрыты. В Linux я бы просто сделал, например. app --tech, но из-за отсутствия аргументов на телефоне Android я ищу способ воспроизвести это. - person Knut; 23.08.2020
comment
Я до сих пор не понимаю, как эта переменная может быть установлена ​​на одних устройствах и не установлена ​​на других. Например, вы можете создать второе приложение. Техники установят и второе приложение. Просто наличие второго приложения может изменить поведение первого приложения. Мой вопрос по-прежнему: как будет установлена ​​​​переменная для техника? - person David Wasser; 23.08.2020

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

person Knut    schedule 18.09.2020