Pyjnius: 无法导入通讯录

创建于 2015-11-11  ·  5评论  ·  资料来源: kivy/pyjnius

此代码崩溃而不捕获异常:

def build(self):
    try:
        return Label(text=str(dir(autoclass('android.provider.ContactsContract.Contacts'))).replace(' ', '\n'))
    except Exception as ex:
        return Label(text=str(ex).replace(' ', '\n'))

这个案例

def build(self):
    try:
        contract = autoclass('android.provider.ContactsContract')
        return Label(text=str(dir(contract.Contacts)).replace(' ', '\n'))
    except Exception as ex:
        return Label(text=str(ex).replace(' ', '\n')) 

捕获异常类型对象 'android.provider.ContactsContract' 没有属性 'Contacts'

但我希望存在这样一个类: http :

最有用的评论

尝试直接导入联系人,例如:

Contacts = autoclass('android.provider.ContactsContract$Contacts')

'$' 用于访问嵌套类。

所有5条评论

尝试直接导入联系人,例如:

Contacts = autoclass('android.provider.ContactsContract$Contacts')

'$' 用于访问嵌套类。

它有效,谢谢!

还有一个问题。
如何获得“ContactsContract.Contacts._ID”?

Contacts = autoclass('android.provider.ContactsContract$Contacts')
System.out.println(' '.join(dir(Contacts))) # CONTACT_CHAT_CAPABILITY CONTACT_LAST_UPDATED_TIMESTAMP CONTACT_PRESENCE CONTACT_STATUS CONTACT_STATUS_ICON CONTACT_STATUS_LABEL CONTACT_STATUS_RES_PACKAGE CONTACT_STATUS_TIMESTAMP CONTENT_FILTER_URI CONTENT_FREQUENT_URI CONTENT_GROUP_URI CONTENT_ITEM_TYPE CONTENT_LOOKUP_URI CONTENT_MULTI_VCARD_URI CONTENT_STREQUENT_FILTER_URI CONTENT_STREQUENT_URI CONTENT_TYPE CONTENT_URI CONTENT_VCARD_TYPE CONTENT_VCARD_URI CORP_CONTENT_URI CUSTOM_RINGTONE DISPLAY_NAME DISPLAY_NAME_ALTERNATIVE DISPLAY_NAME_PRIMARY DISPLAY_NAME_SOURCE ENTERPRISE_CONTACT_ID_BASE EXTRA_ADDRESS_BOOK_INDEX EXTRA_ADDRESS_BOOK_INDEX_COUNTS EXTRA_ADDRESS_BOOK_INDEX_TITLES FILTER FILTER_NONE FILTER_WIDGET HAS_PHONE_NUMBER INDEX_IN_SIM INDICATE_PHONE_SIM IN_DEFAULT_DIRECTORY IN_VISIBLE_GROUP IS_SDN_CONTACT IS_USER_PROFILE LAST_TIME_CONTACTED LOOKUP_KEY NAME_RAW_CONTACT_ID PHONETIC_NAME PHONETIC_NAME_STYLE PHOTO_FILE_ID PHOTO_ID PHOTO_THUMBNAIL_URI PHOTO_URI PINNED QUERY_PARAMETER_VCARD_NO_PHOTO SEND_TO_VOICEMAIL SEND_TO_VOICEMAIL_SIP SEND_TO_VOICEMAIL_VT SORT_KEY_ALTERNATIVE SORT_KEY_PRIMARY STARRED TIMES_CONTACTED _COUNT _ID ...
_ID = Contacts._ID # Error

这是与https://github.com/kivy/pyjnius/issues/169相关的 pyjinius 的问题
您将自己声明变量,例如:

CONTACTS_ID = '_id'

然后在构建访问联系人的查询时,不要使用 Contacts._ID 使用 CONTACTS_ID。
_COUNT 也一样

我如何访问完整的联系人列表,有人可以帮忙吗??

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

ghost picture ghost  ·  3评论

tom19952000 picture tom19952000  ·  15评论

cthoyt picture cthoyt  ·  11评论

apalala picture apalala  ·  7评论

Thrameos picture Thrameos  ·  27评论