Android 如何使用alarm manager启动意向服务
我想用alarm manager启动我的意向服务,我的意向服务正在由服务启动。。但是我做不到,请帮我做 这是我的密码 服务代码Android 如何使用alarm manager启动意向服务,android,android-intent,Android,Android Intent,我想用alarm manager启动我的意向服务,我的意向服务正在由服务启动。。但是我做不到,请帮我做 这是我的密码 服务代码 public void onCreate() { Intent intent = new Intent(this, DownloadService.class); startService(intent); Calendar cal = Calendar.getInstance(); cal.add(
public void onCreate() {
Intent intent = new Intent(this, DownloadService.class);
startService(intent);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, 10);
PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0);
AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
10 * 1000, pintent);
alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP,
cal.getTimeInMillis(), 10 * 1000, pintent);
}
public int onStartCommand(Intent intent, int flags, int startId) {
Toast t = Toast.makeText(getApplicationContext(), "in service onSatrt commandf ", Toast.LENGTH_LONG);
t.show();
intent = new Intent(this, DownloadService.class);
startService(intent);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, 10);
PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0);
AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
10 * 1000, pintent);
alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP,
cal.getTimeInMillis(), 10 * 1000, pintent);
return super.onStartCommand(intent, flags, startId);
}
public IBinder onBind(Intent arg0) {
return null;
}
试试这个
您需要使用pendingent.FLAG\u UPDATE\u CURRENT
从pendingent pintent=pendingent.getService(this,0,intent,0)更改代码代码>到
PendingIntent pintent = PendingIntent.getService(this,
0, serviceIntent, PendingIntent.FLAG_UPDATE_CURRENT);
谢谢你的回复,可能是重复的。。但我是否需要为待定意图定义其他意图。。。。。。。我应该在哪个生命周期阶段(在哪个函数中)定义它,这样它就可以在不中断的情况下运行。你可以使用你在问题中使用的退出意图。它不起作用。。。请给我建议别的办法!!你在哪里叫这个??是否尝试您问题下的链接?是否检查