Как мне найти и сделать телефонный звонок человеку из моего списка контактов? - PullRequest
0 голосов
/ 10 декабря 2018

Я делаю приложение для Android, которое может принимать голосовые команды и вызывать этого человека.Для преобразования речи в текст я использую облачный API Google.Я нашел API Google People, но он позволяет только искать и обновлять контакты и т. Д. Я хочу получить подробную информацию и позвонить с моего номера телефона.Twilio был еще одной вещью, которую я нашел, но он звонит только по определенному номеру, а не просматривает контакты.И генерирует новый номер, затем звонит с этого номера.Кроме того, таким образом, пользователь всегда должен иметь активное подключение к Интернету, что будет ограничением.

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 12 декабря 2018

Что ж, поиск имени в ваших контактах может вернуть более одного контакта (например, если у вас несколько контактов с именем «Давид»), а также у одного контакта может быть несколько телефонов, поэтому вы не знаете, какой из нихзвоните.

Если вы игнорируете эти две проблемы и просто хотите выбрать первые подходящие контакты случайным образом и использовать первый подходящий телефон, попробуйте следующее:

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();
...