如何在whatsapp视频通话中检查意图活动状态

时间:2019-12-18 20:43:01

标签: java android whatsapp

我正在使用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
}

目标是确保通话结束或闲置时,应用只会自动回叫。

如果您能给我一些帮助,我将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

我试图在自己开发的应用程序中实现类似的功能。

我主要关注的不是实现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上的完整代码可用