Android 安卓服务1分钟后再次呼叫自己
我正在尝试做一个服务,一分钟后醒来并再次呼叫自己(在这个例子中,我知道这对电池有害) 以下是代码的一部分:Android 安卓服务1分钟后再次呼叫自己,android,service,alarmmanager,Android,Service,Alarmmanager,我正在尝试做一个服务,一分钟后醒来并再次呼叫自己(在这个例子中,我知道这对电池有害) 以下是代码的一部分: public class SpeechService extends Service { @Override public void onCreate() { super.onCreate(); setUpNextAlarm(); } public void setUpNextAlarm(){ Intent
public class SpeechService extends Service {
@Override
public void onCreate() {
super.onCreate();
setUpNextAlarm();
}
public void setUpNextAlarm(){
Intent intent = new Intent(SpeechService.this, this.getClass());
PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, 0);
long currentTimeMillis = System.currentTimeMillis();
long nextUpdateTimeMillis = currentTimeMillis + 1 * DateUtils.MINUTE_IN_MILLIS;
// Schedule the alarm!
AlarmManager am = (AlarmManager)ContextManager.getApplicationContext().getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP,nextUpdateTimeMillis, pendingIntent);
Log.e("test","I am back!");
}
protected void onHandleIntent(Intent intent)
{
Log.e("test","I am back!");
setUpNextAlarm();
}
}
正如您所看到的,我在创建服务时调用了setUpNextAlarm,我在末尾看到了日志,但之后再也没有调用该服务。我已经在IndentService中尝试过了,它可以工作,但我需要它在正常服务中工作:(
谢谢你使用
PendingIntent.getService
不是
你有广播意图。我刚使用了一个服务和一个IntentService。IntentService使用了AlarmManager,然后调用了该服务。我认为你应该在创建函数中调用super.oncreate。另外,我认为你最好使用IntentService,它更容易管理哦,对不起,我有super.onCreate();在create函数中,我只是删除了一些无用的代码以使其更简单,但我错误地删除了这些代码
PendingIntent.getBroadcast