如何在Android 2.2或更高版本中以编程方式进行视频通话?

8
我正在开发一个应用程序,希望能够通过编程方式进行视频通话。 我的应用程序使用API级别8。
我有三星Galaxy S手机,可以使用视频通话功能。 使用意图操作ACTION_CALL,我可以开始语音通话。
如何开始视频通话? 我需要提供哪个意图额外信息? 是否有特定的字段指示当前呼出的通话是视频通话? 如果有,如何设置该字段以指示我要调用视频通话?

大家好, 我已经在不同的论坛上搜索解决我的问题。我发现Galaxy S允许我们以正常方式进行视频通话。我注意到,每当我进行语音通话时,“com.phone.extra.calltype”字段的值将设置为“1”,而对于视频通话,其值将设置为“2”。这是我发现的唯一区别。是否可以设置“com.phone.extra.calltype”字段以指示新呼叫是视频呼叫?如果可以,我如何在发出新呼叫意图时设置“com.phone.extra.calltype”额外字段?请帮帮我。任何帮助都将对我有所帮助。谢谢大家。 - KavitaDev
1个回答

3

这里是在我的三星Galaxy Tab(Android 2.2)上创建视频通话的代码:

Intent callIntent = new Intent("com.android.phone.videocall");
callIntent.putExtra("videocall", true);
callIntent.setData(Uri.parse("tel:" + [your number goes here]));
activity.startActivity(callIntent);

你好Alekz,我遇到了android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.android.phone.videocall dat=tel:xxxxxxxxxx (has extras) }的问题。你能帮我解决一下吗?非常感谢。 - Amol Sawant
@AmolSawant96Kuli 你好。这个解决方案是设备特定的。你的异常意味着你的设备没有请求的包/活动。我唯一能建议的就是从你的实际设备进行视频通话,并查看logcat。也许你能够进行某种形式的反向工程(这就是我为我的Galaxy Tab所做的)。 - Alex
@AmolSawant96Kuli 试着添加 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - user2517419
如何为视频通话设置时间限制 - NaVaNeeTh PrOdHutuR
如何直接使用Google Duo给这里提供的特定电话号码发起视频通话,而不显示应用程序的主屏幕。调用意图设置数据:callIntent.setData(Uri.parse("tel:" + [您的电话号码在此处输入]));请仅返回翻译后的文本。 - Harsha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接