Intereting Posts
Быстро получить текущее местоположение и один раз в android Замена фрагмента другим фрагментом того же класса Шифрование AES 128 в Java Decryption в PHP Android EditText, минус, преобразованный в точечное событие, но inputType = "number | numberSigned | numberDecimal" Написание кода python на Android Не удается создать и запустить проект тестирования Android, созданный с помощью «ant create test-project», когда тестируемый проект имеет банки в каталоге libs Ruby on rails secure API для интеграции мобильных приложений Как написать метку времени создания в apk Создание кругового представления в android Связь между деятельностью и службой Как проверить, включен ли контакт в телефонной книге телефона Android? IFrames не загружается на мобильный или планшет OutOfMemoryError при компиляции моего приложения для Android с градиентом Как разместить границу вокруг андроидного релятивирования? Файлы расширения Apk – Лицензирование приложений – Учетная запись разработчика – NOT_LICENSED ответ

Приложение полностью перезагружается при запуске с помощью значка в панели запуска

Я пытаюсь сделать выпускную версию моего первого приложения для Android, чтобы отправить несколько тестеров. Однако я столкнулся с проблемой. Когда вы выходите из приложения, а затем повторно вводите его, запустив его через свой значок, он перезапустит все приложение, а не вернется в прежнее место. Это происходит, даже если вы снова входите сразу после выхода. Однако этого не происходит, если я удерживаю кнопку «Домой» и запускаю ее через список последних приложений.

Я искал онлайн для других, имеющих эту проблему, и их несколько, но никто никогда не имел твердого ответа относительно того, почему это происходит с ними. В старых вопросах было предложено установить стартовый режим в singleletstance или singleinstance в файле манифеста, но это мне не помогло, и, кроме того, из того, что я понимаю, поведение по умолчанию для android заключается в возвращении к предыдущему состоянию задачи В этой ситуации, поэтому я не знаю, зачем мне нужны специальные варианты манифеста, чтобы сделать это.

Самая странная вещь в этой проблеме заключается в том, что если я использую eclipse и отладчик для установки приложения на свой телефон, эта проблема не возникает. Мне даже не нужно подключаться к отладчику, кажется, что до тех пор, пока у меня есть отладочная версия приложения, проблема не возникает. Но если я использую версию выпуска (я создаю ее, используя опцию меню «Инструменты Android-Экспорт подписанного пакета приложений» в Eclipse), проблема возникает. Если у кого-то есть представление о том, что вызывает это, я бы хотел услышать ваши мысли.

Solutions Collecting From Web of "Приложение полностью перезагружается при запуске с помощью значка в панели запуска"

У меня была та же проблема с приложением, и я решил это поведение, добавив флаг "android:launchMode="singleTop"" вместо "android:launchMode="singleTask"" в объявлении <activity> вашего файла AndroidManifest.xml. Надеюсь, это поможет кому-то.

До сих пор я узнал, что это проблема, связанная с тем, как вы устанавливаете ее на своем реальном устройстве, а именно:

  1. Если вы просто скопируете и вставьте APK в локальное хранилище своего устройства и установите его с устройства, независимо от того, подписан он или нет или выбран из папки bin, он показывает это поведение, приложение перезапускается из значка меню.

Если вы установите его, используя один из следующих вариантов, эта проблема не появляется:

  1. Перейдите в sdk / tools / с помощью терминала или командной строки, затем введите

     adb install <FILE PATH OF .APK FILE> 

    В Linux введите:

     ./adb install <FILE PATH OF .APK FILE> 
  2. Просто запустите проект из Eclipse.

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

Обновить:

Я нашел решение. Следуйте этим двум шагам:

  1. Установите android:launchMode="singleTask" = true для всех действий вашего приложения в AndroidMainifest.xml внутри тега активности .
  2. Поместите этот код в свою onCreate() Launcher onCreate() .

     if (!isTaskRoot()) { final Intent intent = getIntent(); final String intentAction = intent.getAction(); if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && intentAction != null && intentAction.equals(Intent.ACTION_MAIN)) { finish(); return; } } 

Такое поведение является ошибкой в ​​Android. Это не особый случай.

Это поведение по умолчанию в Android. Для сборки отладки она по-разному работает по-разному. Его можно решить, добавив android:launchMode="singleInstance" к активности, которую вы хотите перезапустить после запуска из значка.

Вы можете использовать launchMode как singleTop для Launcher Activity в AndroidManifest.xml

  <activity android:name="<YOUR_ACTIVITY>" android:label="@string/app_name" android:launchMode="singleTop"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

Попробуйте использовать android: alwaysRetainTaskState

 ex <activity android:name="com.jsnider.timelineplanner.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

Когда вы нажимаете кнопку «Назад» в Android, onDestroy метод onDestroy (в отличие от нажатия кнопки «домой», где onPause() только метод onPause() ).

Если вам нужно ваше приложение, чтобы продолжить его, сохраните состояние приложения в onDestroy() и загрузите это состояние в метод onCreate() .

Добавьте это к своей первой деятельности:

 if (!isTaskRoot()) { finish(); return; } super.onCreate(savedInstanceState); 

Все вышеперечисленные решения не работали последовательно на всех моих устройствах. Он работал на некоторых Samsung, но не на всех.

Причиной проблемы для меня была установка APK вручную.