Android 如何在不使用PendingEvent的情况下在服务中使用AlarmManager?

Android 如何在不使用PendingEvent的情况下在服务中使用AlarmManager?,android,service,alarmmanager,Android,Service,Alarmmanager,对不起,我有个问题 我想通过扩展BroadcastReceiver创建一个服务,在设备启动并运行后启动。在服务类中,我想启动一个报警管理器,在特定时间后显示通知。然后,一旦时间过去,显示通知,报警管理器应重新安排到下一个指定的时间。当alarm manager set函数需要挂起的意图时,如果我在服务类中,则不需要挂起的意图,那么如何实现这一点呢。我坚持使用alarm manager而不是Timer,因为下面的链接建议使用它: 守则: public class BootCompletedRece

对不起,我有个问题

我想通过扩展BroadcastReceiver创建一个服务,在设备启动并运行后启动。在服务类中,我想启动一个报警管理器,在特定时间后显示通知。然后,一旦时间过去,显示通知,报警管理器应重新安排到下一个指定的时间。当alarm manager set函数需要挂起的意图时,如果我在服务类中,则不需要挂起的意图,那么如何实现这一点呢。我坚持使用alarm manager而不是Timer,因为下面的链接建议使用它:

守则:

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;
    }
}