我有一个android应用程序,我试图根据服务器的时钟时间播放视频(而不是android设备的时钟时间,这可能是不同的)。
08:00- 08:04:59 -> video_url_1 08:05:00-08:09:59 -> video_url_2 08:10:00-08:14:59 -> video_url_3
因此,当用户打开应用程序时,如果服务器的时钟时间属于上述类别,则播放相应的视频,否则将根据服务器的时钟时间显示剩余秒的计时器。
如果android应用程序已经打开,那么当服务器的时钟时间出现在上述任何一个类别时,它应该会自动开始播放视频。
连续敲击服务器的时钟时间不是一个好的option.So,如何实现上述功能?
发布于 2018-03-21 11:09:45
我认为警报经理是你的解决方案。
流动情况如下:
设置警报管理器示例以触发广播接收器:
AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
Intent alarmIntent = new Intent(context, MyBroadCastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar calendar = Calendar.getInstance();
// add here your calculate minutes or seconds or hours
calendar.add(Calendar.MINUTE, 45);
if (alarmManager != null) {
alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}然后让您的广播接收器处理任何其他操作:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// Do your magic, could be play the video or show a notification saying the video is ready to play
}
}如果您想要更多关于Android中警报的信息,请查看以下链接:
https://developer.android.com/training/scheduling/alarms.html
https://stackoverflow.com/questions/49404157
复制相似问题