私のアプリでは、ユーザーが連絡先から番号を選択できるようにしています。私の電話 (Samsung Galaxy SPlus) では、警告もなしに毎回動作します。アップロードする前にこのアプリを何人かの友人にテストしてもらいましたが、連絡先リストから名前を選択するたびにクラッシュすると言われました。現在、他のデバイスにアクセスすることはできません。私のコードに問題はありますか?
search_contacts.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
startActivityForResult(intent, 1);
}
});
protected 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,
new String[] {
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone.TYPE },
null, null, null);
if (c != null && c.moveToFirst()) {
String number = c.getString(0);
SharedPreferences settings = PreferenceManager
.getDefaultSharedPreferences(MainActivity.this);
SharedPreferences.Editor editor1 = settings.edit();
editor1.putString("phone", number);
editor1.commit();
System.out.println("Set phone number to: " + number);
send_to = number;
text.setText(send_to);
// int type = c.getInt(1);
// showSelectedNumber(type, number);
}
} finally {
if (c != null) {
c.close();
}
}
}
}
}