Не работает TimerTask

Каждые 20 секунд у меня идет обращение к uri, и оттуда забирается название текущей песни. Ну, должно забираться. Но почему то не работает, и ошибок никаких нет.

код mainactivity.java

public class MainActivity extends AppCompatActivity {
    Timer t;
    SimpleExoPlayer simpleExoPlayer;
    ImageView img_play, img_pause;
    TextView tv_song;
    Handler h;
    boolean isplaying;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        t = new Timer();
        t.schedule(new TimerTask() {
            public void run() {
                HttpClient httpClient = HttpClientBuilder.create().build();
                HttpGet httpGet = new HttpGet("http://life-radio.ru/radiostat.php");
                try {
                    String str1 = EntityUtils.toString(httpClient.execute(httpGet).getEntity(), "UTF-8");
                    int i = str1.indexOf("<br");
                    final String subStr = str1.substring(str1.indexOf(": ") + 2, i);
                    Log.d("MY", str1);
                    h.post(() -> tv_song.setText(subStr));
                }catch (IOException iOException) {
                    iOException.printStackTrace();
                }
            }
        }, 20000);
        isplaying = false;
        img_play = findViewById(R.id.img_play);
        img_play.setOnClickListener(v -> {
                if (!isplaying) {
                    initplayer();
                    simpleExoPlayer.setPlayWhenReady(true);
                    isplaying = true;
                } });
        img_pause = findViewById(R.id.img_pause);
        img_pause.setOnClickListener(v -> {
            if (isplaying) {
                simpleExoPlayer.setPlayWhenReady(false);
                isplaying = false;
            } });
    }

    public void initplayer() {
            simpleExoPlayer = new SimpleExoPlayer.Builder(this).build();
            DataSource.Factory datasourcefactory = new DefaultDataSourceFactory(this, Util.getUserAgent(this, "app"));
            MediaSource audiosource = new ProgressiveMediaSource.Factory(datasourcefactory).createMediaSource(Uri.parse("http://listen.life-radio.ru:8019/liferadioru"));
            simpleExoPlayer.prepare(audiosource);

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        simpleExoPlayer.release();
    }

    @Override
    protected void onPause() {
        simpleExoPlayer.release();
        super.onPause();
    }
}

То есть текущая песня должна выводиться в строку tv_song, но этого не происходит. Смотреть от строчки t = new Timer;!


Ответы (0 шт):