【发布时间】:2020-06-18 10:43:33
【问题描述】:
我们开发了一款能够结束 GSM 通话的 Android 应用。 我们多年来一直使用这个解决方案: end incoming call programmatically
不幸的是,在 Android 10 上,此解决方案失败了。 我找不到任何其他实际适用于 Android 10 的解决方案。 有什么建议吗?
【问题讨论】:
标签: android phone-call android-10.0
我们开发了一款能够结束 GSM 通话的 Android 应用。 我们多年来一直使用这个解决方案: end incoming call programmatically
不幸的是,在 Android 10 上,此解决方案失败了。 我找不到任何其他实际适用于 Android 10 的解决方案。 有什么建议吗?
【问题讨论】:
标签: android phone-call android-10.0
可以在 Android 10 上停止 GSM 通话。 下一个代码在 Xamarin Android API 级别 27 中使用反射。
第一次申请许可:
// Check permission AnswerPhoneCalls
if (ContextCompat.CheckSelfPermission(context, Android.Manifest.Permission.AnswerPhoneCalls) != (int)Permission.Granted)
{
activity?.RunOnUiThread(() =>
ActivityCompat.RequestPermissions(activity, new string[1] { Android.Manifest.Permission.AnswerPhoneCalls }, 0));
}
然后通过以下方式停止 GSM 通话:
TelecomManager telecomManager = (TelecomManager)activity.GetSystemService(Context.TelecomService);
var endcall = telecomManager.Class.GetDeclaredMethod("endCall");
endcall.Accessible = true;
endcall.Invoke(telecomManager);
【讨论】: