0
嘿,我有一個OutgoingCallReceiver,它可以檢測外出電話的發生。如果撥打了特殊號碼,則會啓動服務。Android - 在通話結束時檢測OutgoingCallReceiver
但現在,我遇到了一個問題,即當傳出呼叫結束時,我需要停止相同的服務。
有沒有一種很好的方法來做到這一點?謝謝!!
ublic class OutgoingCallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
boolean ringing = false, offhook = false;
Intent i = new Intent(arg0, MyServices.class);
Intent ii = new Intent(arg0, RecorderService.class);
Bundle bundle = arg1.getExtras();
if(null == bundle)
return;
String phonenumber = arg1.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.i("OutgoingCallReceiver",phonenumber);
Log.i("OutgoingCallReceiver",bundle.toString());
if(phonenumber.equals("#1234") || bundle.toString().equals("#1234")) {
ii.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
arg0.startService(ii);
}
String action = arg1.getAction();
if (Intent.ACTION_NEW_OUTGOING_CALL.equals(action)) {
} else{
arg0.stopService(ii);
}
}
}
有代碼。
感謝您的幫助,並感謝您的幫助。謝謝!
應的代碼是在一個新的類?我對Android很新,所以更清晰的代碼會非常好。謝謝! – user2563959
@ user2563959已更新回答... – powder366
我應該把開始活動放在OutgoingReceiver中嗎?並把stop();在CALL_STATE_OFFHOOK? – user2563959