android - 如何在 HTML 的帮助下在 Android 和 iPhone 中启动添加新的联系人屏幕,而无需任何服务器端代码?

标签 android html ios contacts android-contacts

我想通过本地 html 文件在 Android 手机中保存新联系人,而不使用任何服务器端组件。

我已经构建了一个 html 页面,其中包含构建 vcard 所需的所有信息。我想通过相同的 html 页面将该 vcard 保存在电话联系人列表中。

到目前为止我尝试过的方法 -

  1. tel://- 通过此 href 标签 - 我可以启动联系人拨号屏幕,但我想启动添加联系人屏幕。

  2. 在 Android 中 - 您可以指定启动任何应用程序的 Intent (深层链接?) 我尝试了以下超链接,但它启动了 Google Play 商店,最终结果为“未找到”

“scan”被放入超链接中,因为我发现了一个通过 html 启动扫描仪应用程序的示例。我不知道启动添加联系人屏幕的确切超链接应该是什么。

互联网上的示例很少,但都是 Android Native 的。我不确定 HTML 中这些变量的确切常量值。

打开联系方式

  • 建立一个超链接 - 用于下载 vcard。文件下载后 - 用户必须手动打开它。它会自动要求用户保存新联系人。我只是想避免这种下载和打开下载的文件。是否可以通过javascript直接构建、保存、打开本地vcard文件?
  • 我的服务器上托管有 vcf 文件 - 当您单击该链接时 - 它将下载到您的设备。当您打开它时 - 它将在添加新联系人文件中打开。

    我想通过html页面在手机联系人列表中保存一个新联系人。 html 页面也是移动本地的(不在互联网上)

    实际结果是 - 通过链接下载的 vcard 存储在 android 的本地下载文件夹中。用户必须手动打开文件并保存联系人。

    至少如果我可以自动打开下载的 vcf 文件,那就太好了。该方法应该适用于 Android 和 iPhone。

    最佳答案

    这里有两个有用的资源:

    1. https://developer.android.com/training/contacts-provider/modify-data#create-an-intent - 解释如何在 Android 上通过 Intent 添加/编辑联系人
    2. https://developer.chrome.com/multidevice/android/intents - 解释如何格式化从 Chrome 中显示的网页启动的任何 Android Intent (请注意,它仅适用于 Chrome/WebView,不适用于其他浏览器)

    因此您需要启动一个 Intent ,例如:

    Intent intent = new Intent(Intents.Insert.ACTION);
    intent.setType(RawContacts.CONTENT_TYPE);
    intent.putExtra(Intents.Insert.EMAIL, "hello@world.com");
    intent.putExtra(Intents.Insert.PHONE, "+1-212-555-1234");
    

    因此,根据第二篇文章中的格式,您需要启动如下内容:

    intent://vnd.android.cursor.dir/raw_contact/#Intent;
        action=android.intent.action.INSERT;
        S.email=hello@world.com;
        S.phone=+1-212-555-1234
    end;
    

    <a href="intent://vnd.android.cursor.dir/raw_contact/#Intent;action=android.intent.action.INSERT;S.email=hello@world.com;S.phone=+1-212-555-1234end;">CLICK ME</a>

    我认为类似的方法不适用于 iPhone,根本不可能

    关于android - 如何在 HTML 的帮助下在 Android 和 iPhone 中启动添加新的联系人屏幕,而无需任何服务器端代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58687907/

    相关文章:

    ios - 将下载的PDF存储到文档目录不起作用

    java.lang.NumberFormatException : Invalid int: "" : Error 异常

    html - 如何垂直对齐div中的文本?

    javascript - 创建 Canvas 光标,无法存储颜色

    javascript - 如何从网页上的 javascript 文件中删除 html 标签?

    ios - 隐式解包选项和打印结果

    ios - 火力地堡分析 : Install Referrer: iOS app

    android - Vitamio Bug播放本地音频

    java - 将地址转换为经纬度时,地理编码 google api 卡住

    android - 如何在 android mpchart 中获取 Y 轴标签?