我试图通过电话获得whatsapp联系,我得到whatsapp联系的总数,但是从RawContacts如何获得whatsapp我不知道的号码和名称.我试图找到解决方案,但无法得到确切的解决方案.请帮我.
我把我的代码放在下面.
ContentResolver cr = context.getContentResolver();
Cursor c = cr.query(
ContactsContract.RawContacts.CONTENT_URI,
new String[] { ContactsContract.RawContacts.CONTACT_ID, ContactsContract.RawContacts.DISPLAY_NAME_PRIMARY },
ContactsContract.RawContacts.ACCOUNT_TYPE + "= ?",
new String[] { "com.whatsapp" },
null);
ArrayList<String> myWhatsappContacts = new ArrayList<>();
String projection[] = { ContactsContract.CommonDataKinds.Phone.NUMBER };
if(c != null) {
if (c.getCount() > 0) {
while (c.moveToNext()) {
String whatsappContactId = c.getString(c.getColumnIndex(ContactsContract.RawContacts.Data._ID));
Cursor dataCursor = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",
new String[]{whatsappContactId}, null);
// You can also read RawContacts.CONTACT_ID to read the
// …Run Code Online (Sandbox Code Playgroud) android contacts android-contentresolver android-contacts whatsapp
我从电话簿中获取了所有设备联系人.现在我想从电话簿中获取的特定联系人获取链接帐户(facebook,twitter,instagram,LinkedIn).我该怎么办?
这是获取联系人的代码.
public Cursor getContactsCursor(FragmentActivity activity) {
Cursor cursor = null;
try {
String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + "= 0" + " OR " + ContactsContract.Contacts.IN_VISIBLE_GROUP + "= 1";
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
ContentResolver cr = activity.getContentResolver();
return cr.query(ContactsContract.Contacts.CONTENT_URI, null, selection, null, sortOrder);
} catch (Exception e) {
AppLogger.e(Helper.class.getSimpleName(), e.getMessage());
return cursor;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我不知道如何获取与特定联系人链接的帐户(如facebook,linkedin等).
有人可以指导我.
更新: 在下面附加的图像中,单击红色突出显示的部分,在浏览器中打开链接的用户配置文件.因此,我愿意获取用于打开用户个人资料页面的字段.
提前致谢.
我是Android新手,并尝试执行以下任务:-我想打开Whatsapp联系人列表并获取选定的联系人数据。我能够完成一半的工作。Whatsapp联系人列表打开,但是一旦我按任何联系人,我的应用程序就会崩溃。这是我的代码:
要打开Whatsapp联系人列表:
btnChoose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setPackage("com.whatsapp");
try{
Toast.makeText(AddScheduleActivity.this, "going out activity", Toast.LENGTH_SHORT).show();
startActivityForResult(intent, 1);
Toast.makeText(AddScheduleActivity.this, "getting In activity", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(AddScheduleActivity.this, "Whatsapp not found", Toast.LENGTH_SHORT).show(); //no activity found to handle this intent means whatsapp is not installed
}
}
});
Run Code Online (Sandbox Code Playgroud)
获得选择:-
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
Toast.makeText(AddScheduleActivity.this, "Ok In", Toast.LENGTH_SHORT).show();
switch (requestCode) {
case 1:
if(resultCode == …Run Code Online (Sandbox Code Playgroud)