【问题标题】:get contact list in JS在JS中获取联系人列表
【发布时间】:2021-07-12 02:05:24
【问题描述】:

我想从 Android 获取联系人列表(如果用户在 android 中打开网站)。我正在寻找它。我在stackoverflow中发现了两个类似的问题。

  1. Obtain Contacts Permission before Navigating (Cordova)

  2. Listing phone contacts using javascript

  3. Cordova

这是我尝试过的。

    function onSuccess(contacts) {
        alert('Found ' + contacts.length + ' contacts.');
    };
    
    function onError(contactError) {
        alert('onError!');
    };
    
    // find all contacts with 'Bob' in any name field
    var options      = new ContactFindOptions();
    options.filter   = "Bob";
    options.multiple = true;
    options.desiredFields = [navigator.contacts.fieldType.id];
    options.hasPhoneNumber = true;
    var fields       = [navigator.contacts.fieldType.displayName, navigator.contacts.fieldType.name];
    navigator.contacts.find(fields, onSuccess, onError, options);

我在 android 中没有收到任何错误或警告消息。当我在 PC 中访问网页时出现错误

未捕获的 ReferenceError:未定义 ContactFindOptions 在contacts.php:17

我认为我有错误原因,PC 中没有联系功能。 我是JS的初学者。我想Cordova must be installed in PC,我也不确定这些信息。如果必须,我该如何安装 Cordova?我正在使用基于 Debian 的 Linux 发行版。所以,我尝试了

sudo apt-get install cordova

但是,

E: 无法定位包cordova

【问题讨论】:

  • 解决这个问题很可能需要更多关于如何设置项目的知识。首先,在 Linux 上 Cordova 的安装命令是 sudo npm install -g cordova。这将通过节点包管理器将 Cordova 全局安装到您的 CLI 中。
  • @ChaseIngebritson 我将运行该命令sudo npm install -g cordova。突然我遇到了这个问题unix.stackexchange.com/questions/645526/…

标签: javascript android cordova


【解决方案1】:

您是在使用 Cordova 构建移动应用程序,还是只是在 Android 上的网站上运行代码?

如果它只是一个网站:你根本无法做你想做的事,因为浏览器不提供联系人列表的界面。

与可以访问系统 API 的 Cordova 应用程序不同,其中联系人列表 API、在移动浏览器中执行的 JavaScript 代码无法访问此类 API。浏览器 JS API 根本没有办法。

JavaScript 代码在 Cordova/Capacitor 移动应用程序内运行,但 Cordova API 可以将移动设备的原生 API 与 JavaScript 连接起来。

【讨论】:

    猜你喜欢
    • 2017-06-22
    • 2016-10-08
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    相关资源
    最近更新 更多