gpt4 book ai didi

Android 使用电话管理器从特定的第 3 方 Voip 应用程序(如 Cisco Jabber)调用电话

转载 作者:行者123 更新时间:2023-11-30 03:59:21 25 4
gpt4 key购买 nike

我正在从我的 Android 应用程序调用电话,它列出了一组能够调用电话的应用程序,用户可以选择一个来调用电话。但我想知道的是,有没有办法将调用重定向到特定的第 3 方 VOIP 应用程序(如 Cisco Jabber),而不是列出所有能够调用电话的应用程序**。我试过使用

注册 ACTION_NEW_OUT_GOING_CALLS 使用广播接收器来中断拨出电话,但我不知道如何重定向调用以下是广播接收器的代码。

public void onReceive(Context context, Intent intent) {

Bundle bundle = intent.getExtras();

String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

Log.d("Test", ""+phoneNumber);

TelephonyManager telephoneManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

try {
Class<?> c = telephoneManager.getClass();
Class className = Class.forName(c.getName());
Log.d("Test", c.getSimpleName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

List<ResolveInfo> callAppList = context.getPackageManager().queryIntentActivities(intent, 0);

Log.d("Test", ""+callAppList.size());
if(callAppList.size() > 0)
Log.d("Test", callAppList.get(0).activityInfo.targetActivity);

}

最佳答案

我可以想到几个解决方案。

  1. 第 3 方是否提供 API?您可以与之集成(例如 Skype API)

  2. 如果第 3 方软件有一个 Activity 可以接受您的调用,那么您可以通过提供适当的 Intent 将控制权转发给该 Activity 。

我不知道电话管理器可以捕获有关 VOIP 调用的数据。我相信它的责任是特定于电话本身的调用。我之前没有与电话经理合作过,所以我不知道。

关于Android 使用电话管理器从特定的第 3 方 Voip 应用程序(如 Cisco Jabber)调用电话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12776217/

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