我的目标是只有电话号码显示联系人的用户,并让用户选择,我想在本地存储很少的接触。
我在下面的方法中使用的地方ContactsContract.Contacts.CONTENT_URI的各种选项。 但我却看到很多很多的接触(很多是垃圾,只有电子邮件ID)显示增长。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contact_selector);
((Button)findViewById(R.id.btnphonecontactlist)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent contactIntent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(contactIntent, 1);
}
});
}
如果我通过ContactsContract.Contacts.CONTENT_URI作为参数用于上述方法,并在下面的处理程序方法的情况下,字符串[]用于查询方法作为投影参数(其被示为注释),该方法失败,java.lang.IllegalArgumentException异常。 如果我在下面的方法传递null,那么我选择任何接触,我没有找到相关的电话号码或电子邮件任何列。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(data != null)
{
Uri uri = data.getData();
if(uri != null)
{
Cursor c = null;
try
{
c = getContentResolver().query(uri, null
// new String[] {
//ContactsContract.CommonDataKinds.Phone.NUMBER,
//ContactsContract.CommonDataKinds.Phone.TYPE},
, null, null, null);
if(c != null && c.moveToFirst())
{
String number = c.getString(0);
String type = c.getString(1);
}
}
finally
{
if(c != null && !c.isClosed())
c.close();
}
}
}
}
有没有什么办法,只显示联系人可见用户通常当用户进入电话簿,并且具有可用的电话号码?
我试图通过计算器和其他网站的所有线程去,但尽管很多人已经张贴了问题找不到任何解决方案,解决问题的解决这个问题。 我没有太多的工作与Android平台,我可能已经错过了某些微小的细节,我认为必须有一个简单的方法来实现这一目标。
请建议。 感谢您的帮助。
谢谢。