gpt4 book ai didi

Android (Lollipop) 无法检测到第二张 SIM 卡正在进行的通话

转载 作者:太空狗 更新时间:2023-10-29 14:08:28 26 4
gpt4 key购买 nike

我有一段代码可以调用电话并在一定时间后挂断电话。我已经设法从两个 SIM 卡调用电话(对第二个 SIM 卡使用不同的技巧),但是,Android 似乎无法检测到第二个 SIM 卡是否摘机;

看看这段代码:

Class<?> c = Class.forName(telMgr.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
ITelephony telephonyService = (ITelephony)m.invoke(telMgr);
if (telephonyService.isOffhook()) { // DO SOMETHING }

如果第一张 SIM 卡调用电话,我得到 isOffHook()true,但是从第二张 SIM 卡,电话正在进行中,但我得到

有没有办法检测我是否在两个 SIM 卡上都摘机了?谢谢

最佳答案

感谢您的评论,但我已经找到了解决方案。而不是使用旧方法检索 ITelephony来自 TelephonyManager 的“实例” (我在旧版本中使用了这个技巧,因为其他方法给我带来了麻烦),我使用 TelephonyManager直接调用getCallState() ,对于两个 SIM 而言,它似乎提供了丰富且准确的信息。代码示例:

TelephonyManager telMgr = (TelephonyManager)(this.getMainContext()
.getSystemService(Context.TELEPHONY_SERVICE));
/* Making a call... */
if (telMgr.getCallState() != TelephonyManager.CALL_STATE_OFFHOOK) { /* Do your stuff */ }

简单明了。使用我当前的 5.1 Lollipop 版本。

关于Android (Lollipop) 无法检测到第二张 SIM 卡正在进行的通话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31005851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com