хммм, может быть, есть обработчик со счетчиком, обновляющим TextView каждую секунду (таким образом, приложение не отображается как замороженное), а затем, когда счетчик достигнет десяти, сделайте снимок
int counter2 = 0;
private Runnable mUpdateTimeTask2 = new Runnable() {
public void run() {
if (counter2 == 10){
takepicture();
}
counter2++;
mHandler.postDelayed(this, 1000);
}
};