【问题标题】:How to access call logs in android using Cordova?如何使用 Cordova 在 android 中访问通话记录?
【发布时间】:2016-02-08 19:39:35
【问题描述】:

我想使用 Cordova 访问最近的通话记录,但没有官方插件,有人为此制作了一个自定义插件 https://github.com/dalyc/Cordova-CallLog-Plugin 是我唯一的希望,但问题是这个插件不再支持它的创建者,它在他的示例中使用了 AngularJS。我做了我的搜索工作,发现人们试图使用这个插件来使用 javascript,但他们没有得到有效的解决方案。正如作者在这里提到的https://github.com/dalyc/Cordova-CallLog-Plugin/issues/4,有 3 个函数可以与 javascript 一起使用。

window.plugins.calllog.list : get recent calls - takes a day limit e.g 7 is go back a week
window.plugins.calllog.show : show contact for specified phone number
window.plugins.calllog.contact : get contact details for specified phone number

我尝试了其中的每一个,显然 window.plugins.calllog.show 工作正常,它显示了特定号码的联系方式。但是 window.plugins.calllog.list 对我不起作用,它返回“未定义”。请需要帮助。提前致谢。

我的 index.html 包含

<button id="call_log" onclick="loadLogs();">call log</button>

我的 app.js 包含

    //calllog
    function loadLogs() {

        if(window.plugins.calllog == "undefined"){
               alert("Doesn't works");
           }
        else
           {
                alert("works");
                window.plugins.calllog.show('12345'); 
                //this code is working and opening list of contacts having these "12345" in their phonenumber

                var list = window.plugins.calllog.list('7');
                alert(list[0]);
            }

    }

未捕获的类型错误:无法读取未定义的属性“0”

【问题讨论】:

  • 把你的代码粘贴到这里,让我们看看有什么问题
  • 您是否在控制器中注入CallLogService?在 Github 插件页面中查看示例,您应该这样做:CallLogService.list(1).then( function(callLog) { console.log(callLog); $scope.data.lastCall = callLog[0]; }, function(error) { console.error(error); });
  • window.plugins.calllog.list(days, function (response) { // Do something with response; }, function (error) { // Damn got an error. useful print it }); 如您所见,您应该在成功的情况下传递一个函数,在错误的情况下传递一个函数。或者您可以使用 CallLogService,将其注入您的控制器
  • 这项工作非常感谢。我已经浪费了超过 24 小时的工作解决方案,现在你救了我的命。

标签: javascript android angularjs cordova cordova-plugins


【解决方案1】:

这是我自己做的一个插件

https://www.npmjs.com/package/callsplugin

你基本上必须编写命令

cordova plugin add callsplugin

并按照您在项目站点中找到的说明进行操作

【讨论】:

  • 感谢您的评论。我最近注意到 GitHub 存储库上的一些相关问题。我认为我应该将项目更新为操作系统和库中可能发生的变化。您能否请添加您的设备配置(即操作系统版本)的问题。这周我会努力工作的。
  • 我已更新自述文件,解释如何正确添加避免安全异常所需的应用程序权限。基本上你的应用需要被授权才能读取用户日志。
  • 感谢您的支持。我已经使用另一个 npm 包授予了权限。
猜你喜欢
  • 1970-01-01
  • 2010-12-21
  • 1970-01-01
  • 1970-01-01
  • 2011-12-11
  • 1970-01-01
  • 2022-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多