我怎样才能获得 Viber 联系人(姓名和号码)?

Posted

技术标签:

【中文标题】我怎样才能获得 Viber 联系人(姓名和号码)?【英文标题】:how can i get Viber contacts (Name and number)? 【发布时间】:2020-12-23 00:46:34 【问题描述】:

我正在尝试获取 Viber 联系人。使用这种方法,我得到了使用 Viber 的联系人的姓名,以及其他不使用 Viber 的联系人的名称(选择方法无法正常工作)。我也无法获得 Viber 联系人号码。知道如何解决这个问题吗?

Cursor cursor2 = getContentResolver().query(ContactsContract.RawContacts.CONTENT_URI
            ,null
            , ContactsContract.RawContacts.ACCOUNT_TYPE_AND_DATA_SET + "= ?"
            ,new String[]  "com.viber.voip" 
            , null);

    while (cursor2.moveToNext())
    
        String name=cursor2.getString(cursor2.getColumnIndex(ContactsContract.RawContacts.DISPLAY_NAME_PRIMARY));

        //Adding contact name into the ArrayList
        myViberContacts.add(name+"\n");
        //Giving the TextView the value of the arraylist
        emervib.setText(myViberContacts.toString());

【问题讨论】:

【参考方案1】:

我相信这段代码应该适合你:

String MIMETYPE_VIBER_MESSAGE = "vnd.android.cursor.item/vnd.com.viber.voip.viber_number_message";
String selection = Data.MIMETYPE + "=?";
String[] selectionArgs = new String[]  MIMETYPE_VIBER_MESSAGE ;
String[] projection = new String[]  Data.CONTACT_ID, Data.DATA1, Data.DISPLAY_NAME ;

Cursor cur = getContentResolver().query(Data.CONTENT_URI, projection, selection, selectionArgs, null);

DatabaseUtils.dumpCursor(cur); // check logcat for the results

【讨论】:

以上是关于我怎样才能获得 Viber 联系人(姓名和号码)?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式更新android中的联系人姓名和号码

android获取联系人图片、姓名和手机号码

使用姓名和电话号码选择多个联系人

使用电话号码获取联系人姓名

光标与每个联系人一个电话号码

如何按姓名和电话号码搜索联系人?