簡體   English   中英

Cordova聯系人插件不起作用

[英]Cordova contact plugin not working

調用此函數后,出現以下錯誤:

“ TypeError:無法讀取未定義的屬性'pickContact'”

$scope.pickContact = function() {
    navigator.contacts.pickContact(function(contact) {
        if(contact) {
            $scope.requestData.guestName = contact.displayName;
            if(contact.phoneNumbers && contact.phoneNumbers.length > 0) {
                $scope.requestData.phoneNo = contact.phoneNumbers[0].value;
            } else {
                $scope.requestData.phoneNo = null;
            }
            $scope.$apply();
        } else {
            $ionicPopup.alert({
                title: 'Error!',
                template: 'Unable to get contact details'
            });
        }
    }, function(err) {
        console.log('Error: ' + err);
        $ionicPopup.alert({
            title: 'Error!',
            template: 'Unable to get contact details'
        });
    });
};

使用$ cordovaContacts插件獲取聯系人並將依賴項注入控制器。

此插件僅在設備上可用,而在瀏覽器中不可用,請在設備上進行測試。

首先,對於此插件,您需要安裝ngCordova ,這將為您提供更多插件和實現。

使用以下命令安裝插件,

cordova plugin add cordova-plugin-contacts

范例:

        .controller('MyCtrl', function($scope, $cordovaContacts, $ionicPlatform) {
          $scope.addContact = function() {
            $cordovaContacts.save($scope.contactForm).then(function(result) {
              // Contact saved
            }, function(err) {
              // Contact error
            });
          };

          $scope.getAllContacts = function() {
            $cordovaContacts.find().then(function(allContacts) { //omitting parameter to .find() causes all contacts to be returned
              $scope.contacts = allContacts;
            }
          };
          $scope.findContactsBySearchTerm = function (searchTerm) {
            var opts = {                                           //search options
              filter : searchTerm,                                 // 'Bob'
              multiple: true,                                      // Yes, return any contact that matches criteria
              fields:  [ 'displayName', 'name' ]                   // These are the fields to search for 'bob'.
              desiredFields: [id];    //return fields.
            };

            if ($ionicPlatform.isAndroid()) {
              opts.hasPhoneNumber = true;         //hasPhoneNumber only works for android.
            };

            $cordovaContacts.find(opts).then(function (contactsFound) {
              $scope.contacts = contactsFound;
            };
          }

          $scope.pickContactUsingNativeUI = function () {
            $cordovaContacts.pickContact().then(function (contactPicked) {
              $scope.contact = contactPicked;
            }
          }

        });

希望這個能對您有所幫助 !!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM