使用Kivy访问电话簿(联系人)

时间:2017-06-15 03:03:27

标签: android kivy contacts android-contacts

我正在使用Kivy开发移动应用程序。我想访问电话簿(联系人列表)。有没有像使用plyer访问移动传感器这样简单的方法。

注意:我不是专家。

1 个答案:

答案 0 :(得分:2)

首先,您需要获得权限,将 READ_CONTACTS 预设添加到您的构建器规范中。

现在,你应该使用 pyjnius 来像这样使用Java SDK:

- 未经过测试 -

  PythonActivity=autoclass("org.renpy.android.PythonActivity")
  ContactsContract=autoclass("android.provider.ContactsContract")

  cr = PythonActivity.mActivity.getContentResolver()
  null = None # this will help to convert java examples into python ones :)
  cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
                 null, null, null, null)
  if (cur.getCount() > 0):
      while (cur.moveToNext()):
          id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
          name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)) #I think this is not DISPLAY_NAME in all versions ...
          print("->", id, name)

        #you can further query contact by its id

逻辑取自这个答案:android get all contacts

您还可以测试 plyer 的拉取请求:https://github.com/kivy/plyer/pull/125/