我正在 Activity 中使用 WhatsApp 调用创建 Intent(),但我不知道如何查看此调用所处的状态。
我想知道它是否正在调用或是否已完成调用并重试。
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
String data = "content://com.android.contacts/data/" + Long.toString(_ID);
String type = "vnd.android.cursor.item/vnd.com.whatsapp.video.call";
intent.setDataAndType(Uri.parse(data), type);
intent.setPackage("com.whatsapp");
startActivityForResult(intent, REQUEST_CODE);
我尝试查看状态用户“onActivityResulty”,但如果您不接听电话,则此事件不会执行,我猜这是因为通话仍未结束,因为在 Whatsapp 内给了我再次调用此电话的选项.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
// Create Intent() / Call again
}
目标是确保当通话结束或空闲时,应用程序只会自动回拨。
如果您能给我一些帮助,我将不胜感激。
谢谢
最佳答案
我尝试在我开发过的应用程序之一中实现类似的功能。
我并没有主要关注实现whatsapp调用,但我想在用户挂断电话时处理我的应用程序,所以我尝试了这个。
private class VoiceCallListener implements CallListener {
@Override
public void onCallEnded(Call endedCall) {
//call ended by either party
}
@Override
public void onCallEstablished(Call establishedCall) {
//incoming call was picked up
}
@Override
public void onCallProgressing(Call progressingCall) {
//call is ringing
}
@Override
public void onShouldSendPushNotification(Call call, List<PushPair> pushPairs) {
//don't worry about this right now
}
}
可以引用这个page如果您想了解有关实现的更多信息,因为它提供了如何实现调用的非常通用的概述,请告诉我这是否有帮助。
完整的代码可以在 page 上找到。
关于java - 如何检查 Whatsapp 视频通话的 Intent Activity 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59399713/