このようにしてみてください..
Toast.Length_LONG gives toast for only 3.5 seconds..
だから..このような3.5秒のカウントダウンタイマーを作成します..アクティビティのonCreateで
String state= bundle.getString(TelephonyManager.EXTRA_STATE);
MyCount counter;
counter=new MyCount(3500,1000);
counter.start();
マイカウントクラス..
public class MyCount extends CountDownTimer{
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
if (state.equalsIgnoreCase(TelephonyManager.EXTRA_INCOMING_NUMBER){
Toast toast= new Toast(youractivity.this);
toast.setGravity(Gravity.TOP,0,0);
toast.setDuration(Toast.Length_LONG);
toast.makeText(..).show();
toast.show();
counter= new MyCount(3500,1000);
counter.start();
}
}
@Override
public void onTick(long millisUntilFinished) {
}
}
}
これは、通話に応答するか、タイムアウトにより着信通話が終了するまで、トーストが表示され続けます。