2015-08-03 7 views
4

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

Одной из запрошенных функций является запуск приложения автоматически при запуске устройства Android. Я реализовал эту функцию, обнаружив намерение ACTION_BOOT_COMPLETED, как описано в this thread. Однако я видел альтернативный подход, рекомендованный сделать приложение домашним экраном, как описано в this thread.

Я понимаю, что реализация функции автозапуска путем обнаружения ACTION_BOOT_COMPLETED, как я уже сделал, вполне может не быть лучшим подходом для приложений Android в целом. Но, как уже упоминалось, в моем случае приложение, которое я разрабатываю, будет единственным приложением, которое когда-либо использовалось на устройстве. Учитывая, что подход, который я принимаю обоснованно? Или есть лучший способ реализовать функцию автозапуска?

Обратите внимание, что одним из соображений является простота настройки Android-устройства. Для подхода, который я предпринимаю, потребуется один ручной шаг, чтобы запустить приложение в первый раз. Но похоже, что также потребуется ручной шаг, если я воспользуюсь альтернативным подходом к созданию приложения на домашнем экране, поэтому в этом отношении не будет никакого преимущества для принятия такого подхода.

Благодарим за помощь!

EDIT: Я попытался настроить приложение в качестве главного экрана, изменив AndroidManifest.xml, как предложил Холмс ниже. Вот что я нашел до сих пор в моем сравнении двух подходов: (1) Код намного проще с использованием подхода на основе домашнего экрана, требующего лишь незначительной настройки AndroidManifest.xml, а не более существенных изменений и дополнительного класса BroadcastReceiver , (2) Процедура установки немного сложнее с использованием подхода к домашнему экрану, поскольку вам нужно делать больше, чем просто открывать приложение, но не существенно сложнее. (3) Подход к домашнему экрану лучше подходит для ограничения пользователя одним приложением, поскольку он не может использовать домашний экран по умолчанию для запуска других приложений. Основываясь на этих результатах, я, вероятно, буду использовать подход к домашнему экрану.

ответ

2

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

Прослушивание ACTION_BOOT_COMPLETED - это то же самое, что ждать, пока устройство завершит его загрузку, запустите его Домашнее приложение, а затем запустите приложение.

Я не верю, что вы не хотите, чтобы ваш окончательный клиент, чтобы увидеть домашний экран и ни сделать I.

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

<activity....> 
<!-- Put this filter inside the activity you want to make the Home screen --> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.HOME" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

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

+0

Благодарим за отзыв. Это очень помогло бы мне, если бы вы могли объяснить, почему это будет лучшим подходом к моей ситуации, чем прослушивание ACTION_BOOT_COMPLETED. Например, есть ли проблемы, которых я бы избегал, применяя этот подход, а не тот, который я принял? Спасибо! – stevehs17

+0

Проверьте правильность. Я видел, что вы решили пойти с этим подходом. Пожалуйста, подумайте о принятии ответа. – Machado

2

Основываясь на вашем вопросе, я сделал бы это приложение для запуска в качестве запуска (ака начального экрана). В таком случае прослушивание ACTION_BOOT_COMPLETED не потребуется, если приложение установлено как устройство запуска.

+0

Благодарим за отзыв @Marcin Orlowski. Не могли бы вы объяснить, почему это было бы лучше, чем тот, который я взял? – stevehs17

+1

IMHO Главное преимущество здесь заключается в том, что он дает вам псевдо-киоск-режим, и, как вы сказали, это будет единственное установленное приложение, вам не нужна пусковая установка. Это также мешает пользователю случайно покинуть ваше приложение, нажав кнопку HOME. –

0

Для ваших нужд ACTION_BOOT_COMPLETED очень хорошо. Помните, что приложение NEEDS должно запускаться вручную хотя бы один раз для ACTION_BOOT_COMPLETED для работы с устройствами с 3.0+

 Смежные вопросы

  • Нет связанных вопросов^_^