gpt4 book ai didi

android - 通过 Intent 打开 vCard

转载 作者:太空狗 更新时间:2023-10-29 15:16:44 27 4
gpt4 key购买 nike

我想通过 intent 在 android 联系人中打开 vCard。我有包含在字符串中的 vCard:

BEGIN:VCARD
N:Zai;Alex;
TITLE:
TEL:7867843312346
ORG:Platinum tech
URL:http://google.com
EMAIL:
END:VCARD

我尝试打开它:

String uri = adapter.getItem(position).getVcard().toString();
Intent i = new Intent();
i.setAction(android.content.Intent.ACTION_VIEW);
i.setDataAndType(Uri.parse(adapter.getItem(position).getResult().toString()),"text/x-vcard");
startActivity(i);

但它与 Log 一起崩溃:

08-24 12:18:27.686: E/AndroidRuntime(11811): 致命异常: main08-24 12:18:27.686: E/AndroidRuntime(11811): android.content.ActivityNotFoundException: 没有找到处理 Intent 的 Activity { act=android.intent.action.VIEW dat=BEGIN:VCARD

最佳答案

当您为您的 Intent 设置数据时,它必须是一个正确的 Uri,而不仅仅是您的 vCard 的 Uri.parse。但不要害怕,因为可以将 vCard 放入 Uri 而无需创建文件。您可以使用 Base64 对 vCard 进行编码(Android 内置的很方便,因此导入 android.util.Base64)并将其作为 Uri 放入,如下所示:

i.setDataAndType(Uri.parse("data:text/x-vcard;base64," + Base64.encodeToString(theStringContainingYourVcard.getBytes()),"text/x-vcard");

关于android - 通过 Intent 打开 vCard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12106493/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com