Intereting Posts
Как удалить прописку из заголовка на панели инструментов? Именование игр в Android Как создать собственное мобильное приложение Magento для Android и iphone Android: сохранить объект android.net.Uri в базу данных Графика TileProvider искажается при более высоких уровнях масштабирования Невозможно увидеть инструмент sdk manager в Eclipse Juno 4.2.1 Когда использовать услугу, основанную на помощи? Android Studio 3.0 canary – Не удалось разрешить: org.apache.httpcomponents: httpclient: 4.0.1 Android: CursorLoader сбой на не верхнем фрагменте Различия между плагином Android NetBEANS и плагином Eclipse? Может ли кто-нибудь объяснить метод раздувания? Более глубокое понимание взглядов Android Как создать приложения для Android с правами root? Почему Kit Kat требует использования isValidFragment? Com.firebase.client.FirebaseException: не удалось разобрать узел с классом класса CLASS_NAME android Android4.4 не может обрабатывать sms-намерение с помощью «vnd.android-dir / mms-sms»

Почему моя служба не работает в 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 )