Ответ 1
Возможно, вы не объявляете службу в своем явном виде. В любом случае вы используете неправильный класс. Вы должны использовать AlarmManager для программирования событий. См. Эту ссылку, это было очень полезно для меня.
Я создал новый класс 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... но он даже не попал. Он также не регистрируется.
Edit: "Невозможно запустить сервис Intent {cmp = com.examples.hello/.HelloService}: не найден"
Что это значит?... Я создал HelloService.java в том же месте, что и все остальное...
решаемая. Я исправил файл манифеста. Спасибо Nikola Smiljanic
<service android:name=".HelloService"/>
в
<service android:name="HelloService"></service>
Возможно, вы не объявляете службу в своем явном виде. В любом случае вы используете неправильный класс. Вы должны использовать AlarmManager для программирования событий. См. Эту ссылку, это было очень полезно для меня.
Служба имеет жизненный цикл, как и любое другое приложение для Android. По этой причине может случиться, что ваша служба будет убита системой (см. Service). Правильный способ реализовать это с помощью 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()