当应用程序是默认拨号器时,我需要一种获取 sim id(1 或 2)的方法来来电(双 sim)。
应用正在实现 InCallService。
看起来您可以运行call.getDetails().getAccountHandle().getId()
,它将返回一个字符串,该字符串是该 PhoneAccountHandle 的标识符。
请注意,PhoneAccountHandle 也是从getSimCallManager返回的
这是PhoneAccountHandle文档中的注释:
一个字符串,可将此特定 PhoneAccountHandle 与创建它的连接服务支持的所有其他人唯一区分开来。
连接服务必须选择在其用户与其服务的关系的整个生命周期内稳定的标识符,跨越许多 Android 设备。例如,一组好的标识符可能是用户使用特定服务为其帐户注册的电子邮件地址。根据服务选择的操作方式,一组错误的标识符可能是一系列整数(0、1、2、...),这些整数在每部手机上本地生成,并可能与其他手机上或之后生成的值发生冲突给定手机的数据擦除。重要提示:非唯一标识符可能导致不确定的呼叫日志备份/恢复行为。
您还可以运行getPhoneAccount (phoneAccountHandlerFromAbove) 来获取地址(),即帐户的电话号码。
如果您想将其与系统中的事物顺序进行比较,您可以使用getCallCapablePhoneAccounts检索所有 PhoneAccountHandle 的列表