首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于服务器时钟时间的android应用程序视频显示

基于服务器时钟时间的android应用程序视频显示
EN

Stack Overflow用户
提问于 2018-03-21 10:42:07
回答 1查看 99关注 0票数 0

我有一个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,如何实现上述功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-21 11:09:45

我认为警报经理是你的解决方案。

流动情况如下:

  1. Android应用程序打开并请求服务器,服务器时间以及下一个视频的时间。
  2. 计算如何在多少分钟或秒内完成时间。
  3. 在那个时候在设备中设置一个警报。假设服务器时间是8:45,下一段视频是9:30。所以你知道,为了能够播放视频,需要45分钟的时间。所以警报应该在45分钟内触发。
  4. 当警报触发时,再次检查服务器,如果没有问题,播放视频并安排下一个警报(对于下一个视频或服务器现在想在另一个时刻播放视频),如果用户伪造时间,则重新计算需要通过的时间并重新安排警报时间。

设置警报管理器示例以触发广播接收器:

代码语言:javascript
复制
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);
}

然后让您的广播接收器处理任何其他操作:

代码语言:javascript
复制
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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49404157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档