【发布时间】:2017-11-07 11:36:42
【问题描述】:
我正在尝试制作语音助手应用程序。我正在使用 wit.ai 的 SpeechRecognizer 和 RecognitionListener。当用户说呼叫名称时,我想呼叫特定联系人(如果存在)。为了实现这一点,我使用这种方法搜索联系人。
public String getPhoneNumber(Context context,String query) {
String name=null;
Cursor cur;
ContentResolver cr = context.getContentResolver();
String[] mProjection = {ContactsContract.Contacts._ID,
ContactsContract.Contacts.LOOKUP_KEY,
ContactsContract.Contacts.HAS_PHONE_NUMBER,
ContactsContract.Contacts.DISPLAY_NAME};
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String selection = ContactsContract.Contacts.DISPLAY_NAME_PRIMARY + " LIKE ?";
String[] selectionArgs = new String[]{"%"+query+"%"};
cur = cr.query(uri, mProjection, selection, selectionArgs, null);
while (cur != null && cur.moveToNext()) {
name = cur.getString(
cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}
if (cur != null) {
cur.close();
}
return name;
}
该方法总是返回 null !我确定我做错了什么,但不确定问题出在哪里。请帮忙
【问题讨论】: