Search code examples
angularjscordovaionic-frameworkcordova-plugins

Unknown provider: $cordovaContactsProvider <- $cordovaContacts


I am using ionic framework 1.3 and trying to read phone contacts using:

cordova plugin add cordova-plugin-contacts

And

.controller('TestControlsCtrl', function($scope, $stateParams, $cordovaContacts) {
    $scope.selectContacts = function() {
      $cordovaContacts.find().then(function(allContacts) { 
        $scope.contacts = allContacts;
      });
    };
});

But I am getting this error

09-26 19:07:25.539 E/Web Console( 4188): Error: [$injector:unpr] Unknown provider: $cordovaContactsProvider <- $cordovaContacts <- TestControlsCtrl

09-26 19:07:25.539 E/Web Console( 4188): http://errors.angularjs.org/1.5.3/$injector/unpr?p0=%24cordovaContactsProvider%20%3C-%20%24cordovaContacts%20%3C-%20TestControlsCtrl

09-26 19:07:25.539 E/Web Console( 4188): at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:13438:12

09-26 19:07:25.539 E/Web Console( 4188): at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:17788:19

09-26 19:07:25.539 E/Web Console( 4188): at Object.getService [as get] (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:17941:39)

09-26 19:07:25.539 E/Web Console( 4188): at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:17793:45

09-26 19:07:25.539 E/Web Console( 4188): at getService (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:17941:39)

09-26 19:07:25.539 E/Web Console( 4188): at injectionArgs (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:17965:58)

09-26 19:07:25.539 E/Web Console( 4188): at Object.instantiate (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:18007:18)

09-26 19:07:25.539 E/Web Console( 4188): at $controller (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:23412:28)

09-26 19:07:25.539 E/Web Console( 4188): at [object Object].appendViewElement (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:59900:24)

09-26 19:07:25.539 E/Web Console( 4188): at Object.render (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:57893:41) at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:26794

NPM verion 3.8.6 Node version 5.11.0

What am I doing wrong? Please help


Solution

  • I added this plugin Cordova plugin add cordova-plugin-contacts

    controller:

        $scope.allContacts= [];
       function findContacts() {
        var options = new ContactFindOptions();
        options.filter = "";
        options.multiple = true;
    
        fields = ["displayName"];
        navigator.contacts.find(fields, contactfindSuccess, contactfindError, options);
    
        function contactfindSuccess(contacts) {
           for (var i = 0; i < contacts.length; i++) {
             alert("Display Name = " + contacts[i].displayName);
             $scope.allContacts.push(contacts[i]);
          }
        }
    
       function contactfindError(message) {
          alert('Failed because: ' + message);
       }
    
    }