#java #android #android-emulator #android-manifest
#java #Android #android-эмулятор #android-манифест
Вопрос:
Привет всем
я новичок в разработке Android и разрабатываю приложение для Android для моего дипломного проекта, мое приложение должно запускаться при загрузке устройства, поэтому я помещаю эти строки в файл AndroidManifest
<!--this to make app run at start up-->
<receiver android:name="MyIntentReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
поэтому моя программа автоматически запускается при завершении загрузки.
мой вопрос в том, как остановить это пользователем?? я хочу включить / выключить переключатель
для этой опции, чтобы пользователь мог выбрать, хочет ли он, чтобы приложение запускалось автоматически в фоновом режиме или вручную???
заранее спасибо
Ответ №1:
Это звучит довольно прямолинейно. В принципе, при запуске телефона будет запущен класс приемника «MyIntentReceiver». Внутри этого приемника вы можете поместить код на основе пользовательских настроек, чтобы либо запустить приложение, либо ничего не делать. Переключателем будет CheckBoxPreference в пользовательских настройках.
Дайте мне знать, если у вас возникнут какие-либо вопросы.
Комментарии:
1. Спасибо на самом деле после того, как я задал этот вопрос, эта идея пришла мне в голову, и я сделал это сейчас, и уверен, что это хорошая идея и будет работать, спасибо
2. у меня есть еще один вопрос: когда программа запускается при запуске, я хочу, чтобы она работала в фоновом режиме, поэтому я использовал метод moveTaskToBack(true); и это работает, но вопрос в том, хороший ли это способ?? или есть лучший способ? спасибо
3. Похоже, вы хотите запустить службу со своего приемника. Служба будет работать в фоновом режиме. Я бы изучил это.
Ответ №2:
таким образом, моя программа запускается автоматически при завершении загрузки.
Я бы сказал «нет» этому. Скорее всего, ваш получатель получает уведомление о завершении загрузки. С этого момента ваша программа должна решить запустить вашу активность / службу в onReceive()
методе вашего получателя.
Таким образом, вам нужно будет сохранить предпочтение, чтобы предоставить возможность пользователю. Когда ваш получатель получит уведомление, проверьте настройку pref, установленную пользователем. Для получения дополнительной информации о предпочтениях сохранения вы можете обратиться к http://developer.android.com/guide/topics/data/data-storage.html#pref