0

Well, i'm getting RawContacts for a contact from ContactProvider. Viber, Whatsapp, Skype, Telegram, etc are launching well with

Uri uri = Uri.parse("content://com.android.contacts/data/" + rawContactId);
Intent i = new Intent(Intent.ACTION_VIEW, uri); 

But when it comes to Facebook Messenger's RawContacts something goes wrong

E/msgr(:):AbstractIntentHandlerActivity: Future failed for intent Intent { act=android.intent.action.VIEW dat=content://com.android.contacts/data/21839 flg=0x10800000 cmp=com.facebook.orca/com.facebook.messenger.intents.IntentHandlerActivity }. Waiting for result: false.

Does anybody know why standard contact-view Intent doesn't work well and is there elegant solution for this situation?

Standard Android Contacts application handles this situation well.

SeriousM
  • 31
  • 7

1 Answers1

0

According to standard Android Contacts application source code, mimetype should be passed to Intent.

Uri uri = Uri.parse("content://com.android.contacts/data/" + rawContactId);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(uri, rawContactMimetype);

And facebook messengers starts correctly

SeriousM
  • 31
  • 7