Не работает 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;!