Я решил и отлично работает на Oreo.
Handler handler = new Handler();
int s = 0;
public void stop() {
handler.removeCallbacksAndMessages(null);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button work = (Button) findViewById(R.id.button1);
work.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
handler.postDelayed(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "This is my Toast message!",
Toast.LENGTH_SHORT).show(); //LENGTH_SHORT is 2000 ms
handler.postDelayed(this, 2000); //so I wait 2000 ms
s++; //How many times you want
if ( s == 4) { //2000x4=8000 ms
stop(); //stop the handler
s=0; //do not forget
}
}
}, 0);
}
});
}