正如你们可能建议的那样,我正在用语音命令创建一个SIRI。现在我想添加一个调用函数。例如,我有这段代码:
Intent call = new Intent(Intent.ACTION_DIAL);
call.setData(Uri.parse("tel:" + findViewByid(R.id.textView).getText());
startActivity(call);
因此用户必须输入电话号码。我确实想输入一个联系人姓名而不是一个号码,然后让应用程序自动扫描联系人簿并拨打该号码。我搜索了很多,但我无法找到我想要的东西。
所以我需要做的是Resolve Content,我不知道从哪里开始。
答案 0 :(得分:1)
你为什么不试试这种方式:
从联系人列表中获取号码
Cursor cursor = mContentResolver.query(CommonDataKinds.Phone.CONTENT_URI, null, CommonDataKinds.Phone.CONTACT_ID +" = ?", new String[]{id}, null);
while (cursor.moveToNext())
{
phone_number.add(cursor.getString(cursor.getColumnIndex(CommonDataKinds.Phone.NUMBER)));
}
用于呼叫
Intent call = new Intent(Intent.ACTION_DIAL);
call.setData(Uri.parse("tel:" + phone_number.get(0)));
startActivity(call);
输出