2

我正在尝试通过 Intents 选择应用程序(例如 Whatsapp)从字符串或文件发送 VCard。你有什么想法?

谢谢

编辑:

我试过这段代码。还有设置类型文本/纯文本。vcard 变量是一个带有 VCard 的字符串。

Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setType("text/x-vcard");
intent.putExtra(android.content.Intent.EXTRA_STREAM, vcard);
intent.setPackage(packageName);

如果我将此发送到 Whatsapp,我必须像字符串一样发送电子名片,但不能像卡片一样识别

4

2 回答 2

0

尝试使用EXTRA_TEXT而不是EXTRA_STREAM,因为EXTRA_STREAM应该指向一个文件。

另外,请删除setPackage()通话。你并不比你的用户更重要。因此,您的用户可以控制他们与哪些应用共享电子名片,而不是您。

除此之外,请联系 Whatsapp 以获取有关其应用程序的帮助。特别是考虑到您的setPackage()来电,Whatsapp 完全有可能根本不支持 vCard via ACTION_SEND

于 2013-02-21T12:34:48.550 回答
0

尝试这个:

intentShareFile.setDataAndType(Uri.fromFile(vcfFile),"text/x-vcard");
intentShareFile.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+vcfFile));

代替:

intent.setType("text/x-vcard");
于 2016-07-20T07:12:16.803 回答