如何搜索联系人列表中的人员并拨打电话?

问题描述 投票:0回答:1

我正在制作一个 Android 应用程序,可以接受语音命令并呼叫该人。对于语音到文本的转换,我使用 Google Cloud API。我找到了 Google people API,但它只允许搜索和更新联系人等。我想获取详细信息并用我的电话号码拨打电话。 Twilio 是我发现的另一件事,但它只拨打给定的号码,不搜索联系人。并生成一个新号码,然后从该号码拨打电话。此外,这样用户将始终需要有一个有效的互联网连接,这将是一个限制。

有人可以在这方面帮助我吗?

android google-cloud-platform phone-call
1个回答
0
投票

嗯,在您的联系人中搜索姓名可能会返回多个联系人(例如,如果您有多个名为“david”的联系人) 而且,一个联系人可能有多个电话,因此您不知道该拨打哪一个。

如果您忽略这两个问题,只是想随机选择第一个匹配的联系人,并使用第一个匹配的手机,那么请尝试以下操作:

String searchedName = "David";
String[] projection = { Phone.NUMBER };
String selection = Phone.DISPLAY_NAME + " LIKE %" + searchedName + "%";
Cursor cur = getContentResolver().query(Phone.CONTENT_URI, projection, selection, null, null);

if (cur.moveToFirst()) {
    String number = cur.getString(0);
    Intent intent = new Intent(Intent.ACTION_CALL);
    intent.setData(Uri.parse("tel:" + number));
    startActivity(intent); // requires permission "android.permission.CALL_PHONE" in AndroidManifest
} else {
    Log.w("CALL", "contact " + searchedName + " wasn't found");
}
cur.close();
© www.soinside.com 2019 - 2024. All rights reserved.