android – 警报在创建后立即运行

我正试图在每天晚上7点播放铃声,但是在其未决意图正在注册广播后立即播放铃声.

我通过按钮点击在前台调用服务,并在onStartCommand中创建了待处理的意图:

@Override
public int onStartCommand(Intent intent,int flags,int startId) 
{

    startForeground(FOREGROUND_ID,buildForegroundNotification("DummyApp"));

    c = Calendar.getInstance();
    AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    int interval = 1000 * 60 * 60*24;
    c.setTimeInMillis(System.currentTimeMillis());
    c.set(Calendar.HOUR,19);
    c.set(Calendar.MINUTE,00);
    manager.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),interval,pendingIntent);
    Intent alarmIntent = new Intent(AlarmService.this,DataProcessor.class);
    pendingIntent = PendingIntent.getbroadcast(AlarmService.this,alarmIntent,0);
    return START_STICKY;
}

现在我在DataProcessor类接收数据处理器类的接收方法时播放铃声:

@Override
public void onReceive(Context ctx,Intent intent) {


    playRIng(ctx);

 }

但是,当我运行此代码时,单击按钮,服务已创建,但在调用AlarmService并且也播放铃声后立即触发警报.如果可能,因为我在注册广播时给出了准确的7 O时钟时间.
谷歌搜索了很多,但只发现相同的代码,没有别的.每个代码都可以播放当时的铃声,但它也会在广播注册后立即播放铃声.

最佳答案
您可以在开发人员网站上尝试该示例,了解其中可用的示例代码.可能在您的代码中存在一些编程错误,但可用的示例代码正是您想要的.

Scheduling Repeating Alarms

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...