直播電商原始碼,活動開始時間計時器
直播電商原始碼,活動開始時間計時器實現的相關程式碼
private void stopTime() { LogUtils.e("stopTime"); if (timer != null) { timer.cancel(); timer = null; } if (task != null) { task.cancel(); task = null; } } Timer timer; TimerTask task; private void startTime(String time) { LogUtils.e("startTime"); if (timer == null) { timer = new Timer(); } if (task == null) { task = new TimerTask() { @Override public void run() { startActivity(new Intent(RestService.this, RestHintActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); } }; } time = time.replace("分鐘", ""); // long period = Integer.parseInt(time) * 60; long period = 10000; timer.schedule(task, period); } timer回收 timerTask.cancel(); timer.purge();將timer中的task為cancel的狀態進行回收; timerTask = null; demo: private void initTimer() { if (timer == null) { timer = new Timer(); } if (timerTask == null) { timerTask = new TimerTask() { @Override public void run() { timeIsRun = true; if (video_duration > 999) { return; } if (mediaPlayer != null) { try { video_position = mediaPlayer.getCurrentPosition() / 1000; } catch (IllegalStateException e) { Log.e(TAG, "timer中 media獲取錯誤: "); } } Log.e(TAG, "run video_position: "+video_position ); Log.e(TAG, "run video_duration: "+video_duration ); String current = BigDecimalUtils.div((video_duration - video_position) + "", video_duration + "", 5); if (BigDecimalUtils.compare(current, video_first) && !video_is_first) { // 第一次超過1/4時,上報1/4視訊進度; Log.e(TAG, "上報 play_first: "); commitAdEvent(adInfoUtils.getList_video_play_first()); video_is_first = true; } if (BigDecimalUtils.compare(current, video_midpoint) && !video_is_midpoint) { // 第一次超過2/4時,上報2/4視訊進度; Log.e(TAG, "上報 video_play_midpoint: "); commitAdEvent(adInfoUtils.getList_video_play_midpoint()); video_is_midpoint = true; } if (BigDecimalUtils.compare(current, video_third) && !video_ist_third) { // 第一次超過3/4時,上報3/4視訊進度; Log.e(TAG, "上報 video_play_third: "); commitAdEvent(adInfoUtils.getList_video_play_third()); video_ist_third = true; } handler.sendEmptyMessage(updataTimeType); if (!videoDialog.isShowing()||video_position == video_duration) { timeIsRun = false; timerTask.cancel(); timer.purge(); timerTask = null; return; } Log.e("TAG", "run video_position: " + video_position); } }; } if (timeIsRun) { return; } timer.schedule(timerTask, 0, 500); }
以上就是直播電商原始碼,活動開始時間計時器實現的相關程式碼, 更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2842418/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 直播電商原始碼,商品出售倒數計時的定時器效果原始碼定時器
- 直播app原始碼,定時開關,實現計時器功能APP原始碼
- 直播小程式原始碼,vue實現時間倒數計時原始碼Vue
- 線上直播系統原始碼,預設倒數計時,自定義輸入時間倒數計時原始碼
- 直播網站原始碼,Canvas實現圓形時間倒數計時進度條網站原始碼Canvas
- 直播帶貨原始碼,日期時間選擇器 選擇範圍限制原始碼
- 直播app原始碼,JAVA8 時間格式轉換APP原始碼Java
- 如何縮短開發直播間原始碼的時間,看懂這些就OK了原始碼
- elementUI中日期選擇器,控制開始時間小於結束時間UI
- .NET程式碼樹執行時間計時器
- 直播電商原始碼,利用Kotlin+RocketMQ 實現延時訊息原始碼KotlinMQ
- 直播系統原始碼,實現倒數計時,定時任務原始碼
- 直播平臺原始碼,js 時間戳轉為日期格式原始碼JS時間戳
- 直播網站原始碼,vue工具類,時間格式化網站原始碼Vue
- 影片直播系統原始碼,例項原始碼系列-設定系統時間原始碼
- 成品直播原始碼,golang計算時間段內的工作日數量原始碼Golang
- 視訊直播app原始碼,Android端簡單的時間選擇器(包括12小時制和24小時制)APP原始碼Android
- JN專案-時間查詢,結束時間比開始時間小給提示
- 直播平臺軟體開發,Android 計時器,定時功能Android
- 直播電商平臺開發,日期與時間戳轉換封裝工具類時間戳封裝
- 查詢時若時間為空,開始時間取今天的零點,結束時間取當前時間
- 使用 Element+vue實現開始時間結束時間限制Vue
- 直播平臺原始碼,iOS中使用 Date/NSDate 來獲取時間原始碼iOS
- 直播app開發搭建,計算影片上傳所需時間APP
- 視訊直播系統原始碼,倒數計時顯示,商品秒殺倒數計時原始碼
- 短視訊直播原始碼,視訊計時效果,可隨時按鍵暫停原始碼
- 直播商城系統原始碼,js製作倒數計時,天,小時,分,秒原始碼JS
- PHP獲取當前季度的開始時間和結束時間PHP
- MySQL如何獲取binlog的開始時間和結束時間MySql
- Calendar原始碼--JDK是怎麼計算時間的原始碼JDK
- 直播軟體搭建,當前時間、既定時間後的時間及時間比較大小
- 直播電商原始碼,簡述直播的實現原理原始碼
- 成品直播原始碼,如何在開發時自定義快取策略原始碼快取
- 手機直播原始碼,驗證碼自動讀秒倒數計時原始碼
- MySQL如何快速獲取binlog的開始時間和結束時間MySql
- 視訊直播原始碼,提醒類彈窗,到時間後自動彈出原始碼
- 電商直播系統原始碼該如何突破?原始碼
- 直播程式原始碼實現直播業務時必不可少的方面原始碼