Intereting Posts
Как сделать красивые и стильные приложения, такие как Timely Использование FragmentStatePagerAdapter БЕЗ поддержки библиотеки Пример: двунаправленный сетевой разъем Android с использованием AsyncTask Как сделать Android-приложение без использования Android Studio? Android Studio: импорт проекта в существующий проект Цветовые константы системы Android Включение программного обеспечения Выравнивание текстовых изображений на левом и правом краях в макете Android Кнопка воспроизведения / паузы Android Media Player OnActivityResult (), вызванный преждевременно Android Studio не работает нормально с gradle 2.10 и плагин gradle 2.0.0-alpha5 Как ускорить эмуляцию Android? Вызовите (и получите ответ) код USSD в фоновом режиме? Java.lang.UnsupportedOperationException: RecyclerView не поддерживает прокрутку в абсолютную позицию Android: как получить информацию о местоположении из унаследованных комплектов при использовании LocationManager.requestLocationUpdates ()

Как запустить приложение Android в фоновом режиме?

Этот код автоматически запустит приложение после загрузки системы, но приложение закроется после нажатия кнопки «Назад».

Если приложение запускается нормально, щелкнув значок. Он будет непрерывно работать даже после нажатия кнопки «Назад» или запуска других приложений.

public class AutoBoot extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent i = new Intent(context, MyActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } } 

Мой вопрос заключается в том, как заставить этот код автоматического запуска работать непрерывно даже после нажатия кнопки «Назад» или запуска других приложений?

Solutions Collecting From Web of "Как запустить приложение Android в фоновом режиме?"

Возможно, вы можете запустить Service здесь, если вы хотите, чтобы ваше приложение запускалось в фоновом режиме. Это то, что Сервис в Android используется для работы в фоновом режиме и выполнения длительных операций.

UDPATE

Вы можете использовать START_STICKY чтобы ваша служба работала непрерывно.

 @Override public int onStartCommand(Intent intent, int flags, int startId) { handleCommand(intent); // We want this service to continue running until it is explicitly // stopped, so return sticky. return START_STICKY; } 

Начать деятельность не подходит для такого поведения. Вместо этого ваш BroadcastReceiver использует намерение запустить службу, которая может продолжать работать как можно дольше. (См. http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle )

См. Также Постоянное обслуживание

Так как приложения все равно работают в фоновом режиме. Я предполагаю, что вы действительно спрашиваете, как вы делаете приложения в фоновом режиме. Нижеприведенное решение заставит ваше приложение работать в фоновом режиме после открытия приложения и после перезагрузки системы.

Ниже я добавил ссылку на полностью рабочий пример (в виде проекта Android Studio)

Этот вопрос, похоже, выходит за рамки документов Android, и, похоже, для этого нет ни одного всеобъемлющего документа. Информация распространяется на несколько документов.

В следующих документах косвенно указывается, как это сделать: https://developer.android.com/reference/android/app/Service.html

https://developer.android.com/reference/android/content/BroadcastReceiver.html

https://developer.android.com/guide/components/bound-services.html

В интересах правильного использования ваших требований к использованию важная часть этого выше документа внимательно читается: #Binder, #Messenger и компоненты:

https://developer.android.com/guide/components/aidl.html

Вот ссылка на полностью рабочий пример (в формате Android Studio): http://developersfound.com/BackgroundServiceDemo.zip

Этот проект начнет действие, которое связывается с сервисом; Реализации AIDL.

Этот проект также полезен для переоценки для целей IPC в разных приложениях.

Этот проект также разработан, чтобы автоматически запускаться при перезапуске Android (при условии, что приложение было запущено хотя бы один после установки, а приложение не установлено на SD-карте)

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

Этот код написан таким образом, что его очень легко настроить для имитации запланированного сервиса.

Этот проект разработан в соответствии с вышеупомянутыми документами и, следовательно, является чистым решением.

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