【问题标题】:Access phone book (contacts) using Kivy使用 Kivy 访问电话簿(联系人)
【发布时间】:2017-06-15 03:03:27
【问题描述】:

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

注意:我不是安卓专家。

【问题讨论】:

    标签: android kivy contacts android-contacts


    【解决方案1】:

    首先您需要获得许可,将 READ_CONTACTS 权限添加到您的 buildozer 规范中。

    现在,您应该像这样使用 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/

    【讨论】:

      猜你喜欢
      • 2014-02-09
      • 2011-07-11
      • 1970-01-01
      • 2015-06-21
      • 1970-01-01
      • 1970-01-01
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多