我正在從手機數據庫獲取數據。但總是光標變得null
。我也有權限讀取聯繫人。有誰能夠幫助我?聯繫人光標始終爲空?
//for get number and name from contacts
c = getContentResolver().query(uri, new String[]{
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone.TYPE },
null, null, null);
我所有的代碼是在這裏:
@Override
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);
int type = c.getInt(1);
Toast.makeText(this, type + ": " + number, Toast.LENGTH_LONG).show();
}
} finally {
if (c != null) {
c.close();
}
}
}
從logcat的
而且Exception
:
12-16 12:59:33.962: E/AndroidRuntime(20650): Caused by: java.lang.IllegalArgumentException: Invalid column data1
12-16 12:59:33.962: E/AndroidRuntime(20650): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:167)
是什麼'uri'?你可以發佈價值嗎? –
Uri:content://com.android.contacts/contacts/lookup/2888i19d0e52809747dc1/374 – DuyguK