Android 如何在不使用PendingEvent的情况下在服务中使用AlarmManager?
对不起,我有个问题 我想通过扩展BroadcastReceiver创建一个服务,在设备启动并运行后启动。在服务类中,我想启动一个报警管理器,在特定时间后显示通知。然后,一旦时间过去,显示通知,报警管理器应重新安排到下一个指定的时间。当alarm manager set函数需要挂起的意图时,如果我在服务类中,则不需要挂起的意图,那么如何实现这一点呢。我坚持使用alarm manager而不是Timer,因为下面的链接建议使用它: 守则:Android 如何在不使用PendingEvent的情况下在服务中使用AlarmManager?,android,service,alarmmanager,Android,Service,Alarmmanager,对不起,我有个问题 我想通过扩展BroadcastReceiver创建一个服务,在设备启动并运行后启动。在服务类中,我想启动一个报警管理器,在特定时间后显示通知。然后,一旦时间过去,显示通知,报警管理器应重新安排到下一个指定的时间。当alarm manager set函数需要挂起的意图时,如果我在服务类中,则不需要挂起的意图,那么如何实现这一点呢。我坚持使用alarm manager而不是Timer,因为下面的链接建议使用它: 守则: public class BootCompletedRece
public class BootCompletedReceiver extends BroadcastReceiver {
final static String TAG = "BootCompletedReceiver";
@Override
public void onReceive(Context context, Intent arg1) {
Log.w(TAG, "starting service...");
context.startService(new Intent(context, BookkeeperService.class));
}
}
谢谢如果您想通过闹钟向广播接收器发送消息,只需让闹钟在您空闲时发送消息,然后让它开始注册更多的闹钟即可。您可以从您的服务启动警报,然后让警报自行维护。您的声明“由于我在服务类中,因此不需要任何挂起的意图”毫无意义。请澄清。您还可以使用服务扩展广播接收器。。这让人困惑,请保持代码干净。对不起,这意味着,由于我只需要显示通知,所以不需要挂起的意图。
import android.app.AlarmManager;
import android.app.Notification;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.PowerManager;
public class BookkeeperService extends Service {
AlarmManager alarmManager;
@Override
public void onCreate(){
super.onCreate();
alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
// here I need to set the alarm to notify the user after certain time and then reschedule
// to the next event
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return START_NOT_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}