我正在使用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
}
目标是确保通话结束或闲置时,应用只会自动回叫。
如果您能给我一些帮助,我将不胜感激。
谢谢
答案 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上的完整代码可用