A500的dial过程选择phone
来源:互联网 发布:手机音乐软件 编辑:程序博客网 时间:2024/06/01 07:40
在自己写的apk中发现当发出activity(intent)之后会跳出需要在两个phone之间选择,这个选择会影响后面的hangup,hangup中需要相应的phone来匹配。
OutgoingCallReceiver是负责处理发过来的intent的,在它的doReceive里
final PhoneGlobals app = PhoneGlobals.getInstance(); Phone phone = app.phone; int simIndex = TelephonyConstants.DSDS_INVALID_SLOT_ID; if (TelephonyConstants.IS_DSDS) { simIndex = DualPhoneController.getSlotByIntent(intent); if (!DualPhoneController.usingPrimaryPhone(intent)) { phone = app.phone2; }
看起来这边有对phone进行了选择
研究DualPhoneController.usingPrimaryPhone(intent),这个必须是零。
static boolean usingPrimaryPhone(Intent intent) { if (!TelephonyConstants.IS_DSDS) { return true; } String sipPhoneUri = intent.getStringExtra( OutgoingCallBroadcaster.EXTRA_SIP_PHONE_URI); if (sipPhoneUri != null) { return true; } switch (findSimId(intent)) { case ID_SIM_1: return isPrimaryOnSim1() ? true : false; case ID_SIM_2: return isPrimaryOnSim1() ? false : true; default: return true; } }关键在于isPrimaryOnSim1() ,因为这里看起来和case是谁一点关系都没有
static boolean isPrimaryOnSim1() { return mPrimaryId == TelephonyConstants.DSDS_SLOT_1_ID; }后面的这个TelephonyConstants.DSDS_SLOT_1_ID是个常量
关键在于mPrimaryId
private DualPhoneController(PhoneGlobals app) { mApp = app; mCM = app.mCM; mCM2 = app.mCM2; mPrimaryId = Settings.Global.getInt(PhoneGlobals.getInstance().getContentResolver(), Settings.Global.MOBILE_DATA_SIM, TelephonyConstants.DSDS_SLOT_1_ID); }这个初始化在构造函数里
public static int getInt(ContentResolver cr, String name, int def) { String v = getString(cr, name); try { return v != null ? Integer.parseInt(v) : def; } catch (NumberFormatException e) { return def; }
0 0
- A500的dial过程选择phone
- Android Dial处理过程
- a500从拨号到通话界面显示的过程
- Cisco dial-peer的匹配
- Windows Phone app的设计过程
- [转]Windows Phone app的设计过程
- android sdk --- dial的用例
- grpc的dial正常执行流程
- Windows Phone 7上广告平台的选择
- Windows Phone 7上广告平台的选择
- 浅谈Windows Phone 7本地数据库的选择
- 浅谈Windows Phone 7本地数据库的选择
- 浅谈Windows Phone 7本地数据库的选择
- 过程改进的人员选择
- LAP的WLC选择过程
- 安装Windows phone 8 SDK 的过程以及问题
- 【完结】基于upnp的DIAL协议的分析
- 配流08—基于有效路径的Dial算法改进
- 服务器端分页
- String.Empty、string=”” 和null的区别
- vtkCubeAxes的相关使用
- js setTimeout和setInterval
- NGUI Drawcall 优化
- A500的dial过程选择phone
- 线段树
- bzoj2521: [Shoi2010]最小生成树 最小割
- POJ 1904 King's Quest(强连通)
- 【JAVA】【NIO】8、Java NIO FileChannel
- json.dump() and sorted() dict
- cocos2dx 工程运行时 发生访问冲突 有可能是消息未移除的原因
- 高仿微信5.2.1主界面架构 包含消息通知
- [Help] Syncfusion.XlsIO componet 's bug in open "xlsx"file.