2012-04-10 8 views
0

以上のスレッドを作成:私は電話に相手が応答するまでトーストを維持する必要が私は次のコードを持っているtoatメッセージ

String state= bundle.getString(TelephonyManager.EXTRA_STATE); 
if (state.equalsIgnoreCase(TelephonyManager.EXTRA_INCOMING_NUMBER) 
{ 
Toast toast= new Toast(context); 
toast.setGravity(Gravity.TOP,0,0); 
toast.setDuration(Toast.Length_LONG); 
toast.makeText(..).show(); 
toast.show(); 
} 

を。どうやってするか? 私は着信番号を持っているときにスレッドを作成して開始し、その人が応答したときにスレッドを停止しなければならないことは知っています。これを達成する方法は?

答えて

0

はこのようにしてみTHX ..

Toast.Length_LONG gives toast for only 3.5 seconds.. 

そう..

あなたの活動ののonCreate

String state= bundle.getString(TelephonyManager.EXTRA_STATE); 
MyCount counter; 
counter=new MyCount(3500,1000); 
counter.start(); 

MyCountクラスthis..inのように3.5秒のcountdowntimerを作成

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) { 
    } 
} 
} 

これは、あなたが電話に応答するまで連続してトーストを表示します。または、着信コールがタイムアウトのために終了します。

+0

どこでカウンタを開始する必要がありますか?もしかしたら? – user1222905

+0

私はエラーがあります:状態は新しいクラスで認識されません。私の基底クラスはIncommingCalls.javaと呼ばれています – user1222905

+0

私はあなたの魅力を満たす必要がありますか? – user1222905

関連する問題