问题标签 [incallservice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
303 浏览

android - onCallAdded的回调如何获取当前设备的电话号码和SIM卡槽?

背景

我正在开发一个实现InCallService的应用程序,因此它可以处理电话

问题

在具有多 SIM 卡的设备上,我需要显示(当前设备的)使用了哪个 SIM 卡和相关电话号码的信息。

问题是,我找不到从哪里获得这些信息。

我发现了什么

  1. 鉴于我达到了onCallAdded之类的函数,我得到了一个Call类的实例,所以我需要将我从那里得到的东西关联到一个 sim 插槽和电话号码。

  2. 使用call.getDetails().getHandle(),我可以得到一个 Uri,它只包含另一个打电话的人(打电话给当前用户,或者当前用户打电话给谁)的电话号码。

  3. 我可以遍历所有 SIM 卡,但找不到可以用来在它们和当前通话之间映射的内容:

  1. 有一个旧代码不再起作用,它使用call.getDetails().getAccountHandle().getId()and SubscriptionManager.from(context)getActiveSubscriptionInfoList().getActiveSubscriptionInfoList()

  2. 我想我可以使用telephonyManager.getSubscriptionId(callDetails.getAccountHandle()),但它需要 API 30,这是相当新的......

问题

给定我从这个回调(可能还有其他)中接到的电话,我怎样才能获得相关的 SIM 卡插槽和电话号码?

我更喜欢知道如何为尽可能广泛的 Android 版本做到这一点,因为 InCallService 来自 API 23……在 API 30 之前应该可以,对吧?

0 投票
0 回答
12 浏览

android - 活动被杀死时录制的音频丢失

您好,我已经制作了自定义呼叫拨号器,其中呼叫拨到预定义的号码。接通电话后,我开始录制语音并将其保存到外部存储中。

一切都很好,直到我在通话期间不杀死应用程序。一旦我杀了 app mediarecorder 停止录制语音但仍在写入字节。

它看起来像 mediaRecorder 与活动有一些联系。但不知道我在哪里做错了。这是我的呼叫服务代码。

}

请帮我解决这个问题,我不知道出了什么问题。

0 投票
0 回答
14 浏览

android - ANDROID 8 及更高版本 - 以编程方式接受/拒绝来自应用程序的语音呼叫?

我们能否以编程方式接受/拒绝/保持/恢复/切换语音通话,而不将应用程序设置为手机的默认电话应用程序? https://developer.android.com/reference/kotlin/android/telecom/InCallService建议制作默认手机应用。

多年来有很多这样的问题被问到,但由于 Android 实现的频繁变化,没有明确或可靠的答案。Android 文档也没有多大帮助。

任何链接/建议将不胜感激。