我有这个代码来自动启动我的服务,我认为alarmon.class运行时,alarmmanager等待60秒,但没有它。错误在哪里?alarmmanager和服务
当我重新启动时,我看到两个烤面包:“服务创建”和“服务启动”。
感谢您的帮助!
public class AutoStart extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent serviceIntent = new Intent();
serviceIntent.setAction("com.example.startatboot.UnUsedService");
context.startService(serviceIntent);
}
}
和服务:
public class UnUsedService extends Service {
private PendingIntent pendingIntent;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this, "Service Created", Toast.LENGTH_LONG).show();
}
@Override
public void onStart(Intent intent, int startId) {
Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
Intent myIntent = new Intent(UnUsedService.this, AlarmON.class);
pendingIntent = PendingIntent.getService(UnUsedService.this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 60);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
Toast.makeText(UnUsedService.this, "Start Alarm", Toast.LENGTH_LONG).show();
}};
我认为你必须调用super.onStart() – Guillaume
super.onStart(); public void onStart(Intent intent,int startId){在eclipse中导致错误。另外添加:super.onStart(intent,startId);什么也没发生:-( –