Intereting Posts
GetLine1Number () Возвращает пустой, а не null Пользовательский вид не дает поля Android – Как переопределить кнопку «Назад», чтобы она не закончила () мою активность? Как сохранить (растровое изображение) и получить изображение из базы данных sqlite в android? «Дооснащение» неспособно создать адаптер вызова AndroidHttpClient не найден (при работе Robolectric) Сообщение "_Проблема Загрузка Виджета" Как получить ключ для выпуска Google Maps API v2 Android: Кто-нибудь знает, как захватить видео? Android не корректно прокручивает фокус ввода, если не элемент тела Почему AccountManager.addAccountExplicitly возвращает false? Можно ли получить контекст приложения в проекте Android Library? Обнаружение Android-приложения работает в режиме отладки Как я могу отличить, изменяется ли переключатель, значение флажка пользователем или программно (в том числе путем удержания)? Использование RxJava для извлечения объекта, преобразования содержащего списка и использования списка

Почему моя служба не работает в Android? (Я просто хочу, чтобы что-то регистрировалось каждые 5 секунд)

Я создал новый класс HelloService. Я добавил это в манифест Android. Xml.

public class HelloService extends Service { private Timer timer = new Timer(); private long INTERVAL = 5000; public void onCreate() { super.onCreate(); startservice(); } private void startservice() { timer.scheduleAtFixedRate( new TimerTask() { public void run() { Log.d("servy", "This proves that my service works."); } }, 0, INTERVAL); ; } private void stopservice() { if (timer != null){ timer.cancel(); } } @Override public IBinder onBind(Intent arg0) { return null; } } 

Моя другая деятельность называется так:

  Intent helloservice = new Intent(this, HelloService.class); startService(helloservice); 

По какой-то причине я поставил точку останова в своем новом HelloService … но это даже не удар. Это не регистрация.

Изменить: «Не удалось запустить службу Intent {cmp = com.examples.hello / .HelloService}: не найден"

Что это значит? … Я создал HelloService.java в том же месте, что и все остальное …


Решаемые. Я исправил файл манифеста. Благодаря Nikola Smiljanic

 <service android:name=".HelloService"/> 

чтобы:

  <service android:name="HelloService"></service> 

Solutions Collecting From Web of "Почему моя служба не работает в Android? (Я просто хочу, чтобы что-то регистрировалось каждые 5 секунд)"

Возможно, вы не объявляете службу в своем явном виде. В любом случае вы используете неправильный класс. Вы должны использовать AlarmManager для программирования событий. См. Эту ссылку, это было очень полезно для меня.

Используйте alarmManager и службу для выполнения уведомления о расписании только в течение определенного периода времени

Служба имеет жизненный цикл, как и любое другое приложение для Android. По этой причине может случиться, что ваша служба будет убита системой (см. Сервисную документацию). Правильный способ реализовать это – использовать диспетчер Alarm Manager, как обсуждалось в сервисе Android .

Вы попробуете это:

 helloservice.setComponent(new ComponentName (*hello service package name goes here*, *hello service canonical name goes here*)); startService(helloservice); 

Объявите свою службу в файле mainfest.xml вашего проекта.

 <services android:name=".SMSReceiver" android:enabled="true"> <intent-filter> <action android:name=/> </intent-filter> </services> 

Вам необходимо реализовать onStartCommand ()

http://developer.android.com/reference/android/app/Service.html#onStartCommand(android.content.Intent,int.int )