我正在尝试通过Intents选择应用程序从字符串或文件发送VCard,例如Whatsapp。你有什么想法吗?
由于
编辑:
我试过这段代码。还有set type text / plain。 vcard变量是带有VCard的String。
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,我必须像字符串一样发送vcard但不能识别卡片
答案 0 :(得分:0)
尝试使用EXTRA_TEXT
代替EXTRA_STREAM
,因为EXTRA_STREAM
应该指向一个文件。
另外,请删除setPackage()
电话。您并不比您的用户更重要。因此,您的用户可以控制他们与您分享他们的vCard的应用程序,而不是您。
除此之外,请联系Whatsapp以获取有关其应用的帮助。特别是在您setPackage()
来电时,Whatsapp完全有可能不会通过ACTION_SEND
支持vCard。
答案 1 :(得分:0)
试试这个:
intentShareFile.setDataAndType(Uri.fromFile(vcfFile),"text/x-vcard");
intentShareFile.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+vcfFile));
而不是:
intent.setType("text/x-vcard");