重複の可能性:
Android 連絡先ピッカーから連絡先情報を取得する
こんにちは、以下のアプリで Android の連絡先リストから連絡先番号を取得しようとしているのは、連絡先をパックする意図を呼び出しているボタン onclick を 1 つ指定したコードです。また、menifest ファイルに read_contact 権限を追加しましたが、結果を取得していますコード値 -1 ....間違っていますか??? 誰でも私を助けてくれませんか...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.friendinvite);
Button btnFriend=(Button)findViewById(R.id.btnFriend);
btnFriend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent contact = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(contact, 1);
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data != null) {
ContentResolver cr = getContentResolver();
Uri contactData = data.getData();
Cursor c = managedQuery(contactData,null,null,null,null);
String id=null;
String name=null;
String phone=null;
if(c.moveToFirst()){
id = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer.parseInt(c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(Phone.CONTENT_URI,null,Phone.CONTACT_ID +" = ?", new String[]{id}, null);
while(pCur.moveToNext()){
phone = c.getString(c.getColumnIndex(Phone.NUMBER));
}
}
}
}
}