OutgoingCallBroadcaster启动InCallScreen流程

论坛 期权论坛 脚本     
匿名技术用户   2021-1-5 16:57   147   0

OutgoingCallBroadcaster:接收ACTION_CALL的信息,别且对紧急电话和普通电话进行分析,启到一个过滤的作用;

InCallScreen:打电话和接电话的界面;

参考:http://www.cnblogs.com/chenxian/archive/2010/09/23/1833278.html

无论是普通电话还是紧急电话都会启动InCallScreen界面;

简介:

OutgoingCallBroadcaster.class

String number = PhoneNumberUtils.getNumberFromIntent(intent, this);

PhoneNumberUtils.isPotentialLocalEmergencyNumber(number, this)

1.PhoneApp.getInstance().callController.placeCall(intent)?...

2. sendOrderedBroadcast(broadcastIntent, PERMISSION, new OutgoingCallReceiver(),----OutgoingCallReceiver

startSipCallOptionHandler();------context.startActivity(selectPhoneIntent);

SipCallOptionHandler.java--- setResultAndFinish();-------PhoneApp.getInstance().callController.placeCall(mIntent);

流程:

1、OutgoingCallBroadcaster.class

startSipCallOptionHandler(....){

..........

Intent selectPhoneIntent = new Intent(ACTION_SIP_SELECT_PHONE, uri);
selectPhoneIntent.setClass(context, SipCallOptionHandler.class);
selectPhoneIntent.putExtra(EXTRA_NEW_CALL_INTENT, newIntent);
selectPhoneIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(selectPhoneIntent); //启动了SipCallOptionHandler.class

}

2、SipCallOptionHandler.class

setResultAndFinish() {

........

PhoneApp.getInstance().callController.placeCall(mIntent);

.........

}

3、CallController.class

placeCall(Intent intent) {

........

mApp.displayCallScreen(); //mApp = PhoneApp app;

}

4、PhoneApp.class

displayCallScreen() {

.......

startActivity(createInCallIntent());

}

static Intent createInCallIntent() {
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
| Intent.FLAG_ACTIVITY_NO_USER_ACTION);
intent.setClassName("com.android.phone", getCallScreenClassName());
return intent;
}

static String getCallScreenClassName() {
return InCallScreen.class.getName();
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP