Кроме того, я хочу упомянуть еще одну вещь.
Когда вы запускаете приложение из adb shell am
, , оно автоматически добавляет флаг FLAG_ACTIVITY_NEW_TASK , который вносит изменения в поведение,См. код .
Например, если вы запускаете игру в Play Store с adb shell am
, нажатие кнопки * Back (аппаратная кнопка возврата) не потребуетвы - ваше приложение, вместо этого вам потребовалось бы предыдущее действие в магазине Play, если бы оно было (если не было задачи магазина Play, то это заняло бы ваше приложение). Документация FLAG_ACTIVITY_NEW_TASK гласит:
если задача уже запущена для действия, которое вы сейчас запускаете, то новое действие не будет запущено;вместо этого текущее задание будет просто выведено на переднюю часть экрана с состоянием, в котором оно было последним в
. Это заставило меня потратить несколько часов, чтобы выяснить, что пошло не так.
Итак, имейте в виду, что adb shell am
добавить флаг FLAG_ACTIVITY_NEW_TASK .