如何在android和iphone中启动添加新的联系人屏幕,并借助HTML去掉任何服务器端代码



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

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

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

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

  2. 在android中,你可以指定启动任何应用程序的意图(深度链接?(我尝试过以下超链接,但它启动了谷歌播放商店,最终结果是"未找到">

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

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

打开联系人

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

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

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

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

至少如果我能自动打开下载的vcf文件,那就太好了。这种方法应该适用于安卓系统;两者都是iPhone。

所以这里有两个有用的资源:

  1. https://developer.android.com/training/contacts-provider/modify-data#create-意向-解释如何在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, "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上不可行,根本不可能

最新更新