作为话题。我研究了一整天,知道我可以使用本地电话簿添加联系人,通过本地短信应用程序发送短信。
但是我找不到任何方法来使用本机电话簿搜索联系人。我尝试使用文档:http: //developer.android.com/reference/android/provider/ContactsContract.Intents.html#SEARCH_SUGGESTION_CLICKED
以及与此相关的所有常见事物。
我的问题是:
是否可以使用本机电话簿搜索联系人并检索他们?如果是这样,非常感谢示例。
作为话题。我研究了一整天,知道我可以使用本地电话簿添加联系人,通过本地短信应用程序发送短信。
但是我找不到任何方法来使用本机电话簿搜索联系人。我尝试使用文档:http: //developer.android.com/reference/android/provider/ContactsContract.Intents.html#SEARCH_SUGGESTION_CLICKED
以及与此相关的所有常见事物。
我的问题是:
是否可以使用本机电话簿搜索联系人并检索他们?如果是这样,非常感谢示例。
感谢我的朋友在 stackoverflow 上将相同的问题链接到我,我找到了解决问题的方法。
基本上要通过使用供应商电话簿搜索应用程序获得联系,我们必须开始意图以开始我们的搜索之旅。
我在一个按钮中使用它,该按钮在单击按钮时调用此方法。
public void showContactsChooser(final View view){
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
}
我们现在得到一个屏幕,显示我们拥有的所有联系人。我们选择一个,然后我们回到我们的应用程序。
要阅读此联系人,我使用此方法:
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data){
super.onActivityResult(reqCode, resultCode, data);
switch(reqCode){
case (PICK_CONTACT):
if (resultCode == Activity.RESULT_OK){
Uri contactData = data.getData();
Cursor c = getContentResolver().query(contactData, null, null, null, null);
if (c.moveToFirst()){
String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
Toast.makeText(getApplicationContext(), name, Toast.LENGTH_SHORT).show();
}
}
}
}
并做了 :)
我的知识来自http://eclipsed4utoo.com/blog/android-open-contacts-activity-return-chosen-contact/ 而这一切都归功于作者。
如果您想在电话通讯录中搜索某些内容,您必须READ_CONTACTS在您的AndroidManifest.xml. 那里有说明如何从电话数据库中获取联系人。获取有趣的电话号码并使用该代码在默认应用程序中发送您的消息(您不需要SEND_SMS权限。但请记住,用户必须通过单击“发送”来接受该消息):
Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse( "sms:" + phoneNumber ) );
intent.putExtra( "sms_body", smsBody );
context.startActivity( intent );