На высоком уровне, это довольно много, что вы собираетесь закончить с.
С точки зрения эффективности, то, что вы предлагаете, не будет работать хорошо. Нечто подобное будет иметь гораздо меньшее воздействие на устройство:
Runnable thePollingLogic=new Runnable() {
public void run() {
if (yourVideoView.getCurrentPosition()>=theMagicPosition) {
// do something
}
yourVideoView.postDelayed(this, 1);
}
Это будет проверять вашу позицию, то не запускать снова в течение ~ 1 мс. Все, что вам нужно сделать, это позвонить thePollingLogic.run()
после начала воспроизведения видео, а затем позвонить yourVideoView.removeCallbacks(thePollingLogic)
, когда вам больше не нужен цикл опроса.