電話が鳴っている限り、トーストメッセージをポップアップして、トーストを破棄しようとしていますが、通話は拒否または応答されます。
メソッドには、OnReceive
次のようなものがあります。
Bundle bundle=intent.getExtras();
final String state=bundle.getString(TelephonyManager.EXTRA_STATE);
if (state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING))
{
Toast toast= new Toast(context);
toast.show();
new CountDownTimer(3500,1000)
{
@Override
public void onFinish()
{
if (state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_IDLE)||
(state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_OFFHOOK))
{
toast.cancel();
}
else
{
toast.setDuration(Toast.LENGTH_LONG);
toast.show();
start();
}
}
問題は、電話を切った後もトースト メッセージが表示され続けることです。状態が HANG_UP または IDLE モードになることはないようです。
私は何を間違えましたか?