我在开始新 Activity 时遇到问题。我想开始一项 Activity ,以便用户可以选择他/她的联系人列表中的联系人列表。 这是我必须启动一个 Intent ,它由单击按钮触发。
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_LOOKUP_URI);
startActivityForResult(intent, kPickContact);
我收到这个错误
09-14 01:34:04.402: ERROR/ActivityManager(106): java.lang.IllegalArgumentException: URI: content://com.android.contacts/contacts/lookup, calling user: android.uid.system:1000, calling package is one of: [com.google.android.backup, com.android.providers.settings, com.android.systemui, com.android.providers.subscribedfeeds, com.android.settings, android, com.android.server.vpn]
09-14 01:34:04.402: ERROR/ActivityManager(106): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:144)
09-14 01:34:04.402: ERROR/ActivityManager(106): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
09-14 01:34:04.402: ERROR/ActivityManager(106): at android.content.ContentProviderProxy.getType(ContentProviderNative.java:387)
09-14 01:34:04.402: ERROR/ActivityManager(106): at com.android.server.am.ActivityManagerService.getProviderMimeType(ActivityManagerService.java:5586)
09-14 01:34:04.402: ERROR/ActivityManager(106): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:1267)
09-14 01:34:04.402: ERROR/ActivityManager(106): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1467)
我讨厌在这里转储错误日志,但我是 android 的新手,我不知道如何解析这个崩溃日志。有人可以 a) 让我深入了解我做错了什么 b) 给我一些关于如何阅读这些崩溃日志的资源吗?
最佳答案
您可以获得使用此查询的联系人列表。
Cursor cursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
new String[] { Phone._ID, Phone.DISPLAY_NAME, Phone.NUMBER },
null, null, null);
startManagingCursor(cursor);
cursor.moveToFirst();
cursor.getColumnCount();
for (int i = 0; i < cursor.getCount(); i++) {
contactName.add(cursor.getString(1));
cursor.moveToNext();
}
关于android - 在 android 中启动 Activity 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7411714/