如何借助HTML在没有任何服务器端代码的情况下在android和iphone中启动添加新联系人屏幕?

问题描述 投票:0回答:1

我想通过本地html文件将新联系人保存在android手机中,而没有任何服务器端组件。

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

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

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

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

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

Internet上没有几个示例,但这些示例是Android Native。我不确定HTML中这些变量的确切常数值。

公开联络

  1. 建立一个超链接-下载vcard。下载文件后-用户必须手动打开它。它会自动要求用户保存新联系人。我只是想避免这种下载和打开下载的文件。是否可以通过javascript直接构建,保存和打开本地vcard文件?

我的服务器上托管了vcf文件-单击该链接时-该文件将下载到您的设备上。当您打开它时-它将在添加新的联系人文件中打开。

我想通过HTML页面将新联系人保存在电话联系人列表中。 html页面也位于移动设备本地(不在Internet上)

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

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

android html ios contacts android-contacts
1个回答
0
投票

因此,这里有两个有用的资源:

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

所以您将要启动一个意图,如:

Intent intent = new Intent(Intents.Insert.ACTION);
intent.setType(RawContacts.CONTENT_TYPE);
intent.putExtra(Intents.Insert.EMAIL, "[email protected]");
intent.putExtra(Intents.Insert.PHONE, "+1-212-555-1234");

因此,根据第二篇文章中的格式,您将要启动类似这样的内容:

intent://vnd.android.cursor.dir/raw_contact/#Intent;
    action=android.intent.action.INSERT;
    [email protected];
    S.phone=+1-212-555-1234
end;

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

而且我不认为类似的方法可以在iPhone上使用,也不认为完全有可能

© www.soinside.com 2019 - 2024. All rights reserved.