我正试图在每天晚上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时钟时间.
谷歌搜索了很多,但只发现相同的代码,没有别的.每个代码都可以播放当时的铃声,但它也会在广播注册后立即播放铃声.
最佳答案
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。