私のアンドロイドアプリケーションでは、私は人(名前と電話番号)のリストを持っており、ユーザーは連絡先リストから1人をインポートして、アプリケーションのデータベースに人を追加させます。すべて正常に機能しますが、ユーザーはボタンをクリックして新しい人物をインポートしてから戻ることができるため、実際に連絡先を選択せずに連絡先の意図が閉じられます。Android - back from contacts from from one
だから、ユーザーが連絡先を選択したかどうかを確認するために、コード内にifやその他のものを置く場所を知る必要があります。
private void pickContact() {
Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
pickContactIntent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers
startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Check which request it is that we're responding to
if (requestCode == PICK_CONTACT_REQUEST) {
// Make sure the request was successful
if (resultCode == RESULT_OK) {
// Get the URI that points to the selected contact
Uri contactUri = data.getData();
String[] projection = {ContactsContract.CommonDataKinds.Phone.NUMBER};
Cursor cursor = getContentResolver().query(contactUri, null, null, null, null);
cursor.moveToFirst();
// Retrieve the name from the DISPLAY_NAME column
String name = cursor.getString(cursor.getColumnIndex(ontactsContract.Contacts.DISPLAY_NAME));
// Retrieve the phone number from the NUMBER column
int column = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
String number = cursor.getString(column);
// update database
dbManager.addPerson(name, number, true);
}
}
}
ユーザーが実際に連絡先を選択したかどうかを確認するにはどうすればよいですか?
右、はい、私はあまりにもそれを考え出しました: ) –