You need to use a random number generator if you want there to be a random amount of time between the images. For example:
Random r = new Random();
int timer = r.nextInt(60000-30000) + 30000;
Then you can just use handler.postDelayed(this, timer);
in your run function, and any time you want to generate a new random number, just call r.nextInt
again.
More information on random numbers here: How can I generate random number in specific range in Android?