我正在我的活动中使用 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
}
}
如果您想了解有关实现的更多信息,可以参考此页面,因为它提供了有关如何实现调用的非常通用的概述,如果有帮助,请告诉我。
此页面上提供了完整的代码