我如何在Android中选择来电?

时间:2014-01-14 07:39:29

标签: android

我正在开发一款Android应用,想知道如何接听来电。 我已经创建了一个广播接收器,并且在接收方法中我使用倒数计时器在呼叫状态振铃时给出了15秒的延迟。现在,我想在倒数计时器的完成方法中接收来电。我没有任何方法来实现它。谁有人建议? 谢谢!

2 个答案:

答案 0 :(得分:2)

而不是使用倒数计时器,而是设置一次性警报,然后触发您的方法接收呼叫。你可以这样做:

AlarmManager alarm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
Intent cHandler = new Intent (this, CallHandlers.class);
PendingIntent pi = PendingIntent.getBroadcast(this, 0, cHandler, PendingIntent.FLAG_CANCEL_CURRENT);
//Set an alarm that will trigger in 15 seconds
alarm.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis() + (15 * 1000), pi);

答案 1 :(得分:1)

嗨,您可以使用coundowntimer访问http://developer.android.com/reference/android/os/CountDownTimer.html

new CountDownTimer(15000, 1000) {

 public void onTick(long millisUntilFinished) {

  //here you can have your logic for call
 }

 public void onFinish() {
     mTextField.setText("done!");
 }
}
.start();

有关countdowntimer的工作代码示例,请访问http://www.filefactory.com/file/cbbbc38/n/SimpleCountDownTimerExample.zip