2016-09-06 16 views
10

हाय मैं कॉर्डोवा का उपयोग कर एक हाइब्रिड एप्लिकेशन विकसित कर रहा हूं। मैं आखिरी कॉल कि CallLog plugin.This का उपयोग कर एक Android मोबाइल में याद किया जाता है का उपयोग करने की कोशिश कर रहा हूँकॉर्डोवा में कॉललॉग एक्सेस प्लगइन काम नहीं कर रहा है

1.I installed the plugin with this command cordova plugin add https://github.com/dalyc/Cordova-CallLog-Plugin.git. 
2.I am using angularJS.I have this app.js. 

var app=angular.module('lmp', ['ngCordova']); 
    app.controller('lmpctrl',['$scope', 'CallLogService', function($scope, CallLogService){ 
     $scope.data = {}; 
       $scope.callTypeDisplay = function(type) { 
        switch(type) { 
         case 1: 
          return 'Incoming'; 
         case 2: 
          return 'Outgoing'; 
         case 3: 
          return 'Missed'; 
         default: 
          return 'Unknown'; 
        }}; 

       CallLogService.list(1).then(
        function(callLog) { 
         console.log(callLog); 
         $scope.data.lastCall = callLog[0]; 
        }, 
        function(error) { 
         console.error(error); 
        }); 
      }]); 

    app.factory('CallLogService', ['$q', function($q) { 
      return { 
       list : function(days) { 
        var q = $q.defer(); 
        // days is how many days back to go 
        window.plugins.calllog.list(days, function (response) { 
         q.resolve(response.rows); 
        }, function (error) { 
         q.reject(error) 
        }); 
        return q.promise; 
       }, 

       contact : function(phoneNumber) { 
        var q = $q.defer(); 
        window.plugins.calllog.contact(phoneNumber, function (response) { 
         q.resolve(response); 
        }, function (error) { 
         q.reject(error) 
        }); 
        return q.promise; 
       }, 

       show : function(phoneNumber) { 
        var q = $q.defer(); 
        window.plugins.calllog.show(phoneNumber, function (response) { 
         q.resolve(response); 
        }, function (error) { 
         q.reject(error) 
        }); 
        return q.promise; 
       }, 

       delete : function(phoneNumber) { 
        var q = $q.defer(); 
        window.plugins.calllog.delete(id, function (response) { 
         q.resolve(response); 
        }, function (error) { 
         q.reject(error) 
        }); 
        return q.promise; 
       } 
      } 
     }]); 

3.This is my index.html. 

<body ng-app="lmp"> 
     <div ng-controller="lmpctrl"> 

      <div class="row"> 
       <div class="col">Last Call</div> 
      </div> 
      <div class="row"> 
       <div class="col col-30 col-offset-10">Name</div> 
       <div class="col">{{data.lastCall.cachedName}}</div> 
      </div> 
      <div class="row"> 
       <div class="col col-30 col-offset-10">Number</div> 
       <div class="col">{{data.lastCall.number}}</div> 
      </div> 
      <div class="row"> 
       <div class="col col-30 col-offset-10">Type</div> 
       <div class="col">{{callTypeDisplay(data.lastCall.type)}}</div> 
      </div> 
      <div class="row"> 
       <div class="col col-30 col-offset-10">Date</div> 
       <div class="col">{{data.lastCall.date | date}}</div> 
      </div> 
      <div class="row"> 
       <div class="col col-30 col-offset-10">Duration</div> 
       <div class="col">{{data.lastCall.duration}} seconds</div> 
      </div> 
      <div class="row"> 
       <div class="col col-30 col-offset-10">Acknowledged</div> 
       <div class="col">{{(data.lastCall.new == 1 ? 'yes' : 'no')}}</div> 
      </div> 

     </div> 
     <script src="js/angular.min.js"></script> 
      <script src="js/app.js"></script> 
     <script src="js/ng-cordova.js"></script> 
     <script type="text/javascript" src="cordova.js"></script> 
     <script type="text/javascript" src="js/index.js"></script> 

4.I added this following code in my config.xml 
<feature name="CallLog"> 
       <param name="android-package" value="com.ubookr.plugins.CallLogPlugin"/> 
      </feature> 

Am मैं कुछ कमी या मैं किसी न किसी प्रकार से गलत हूँ कि मैं क्या करने की कोशिश की है,। क्या कोई मेरी मदद कर सकता है। पहले से धन्यवाद।

+0

कंसोल sundar में कोई त्रुटि? –

+0

Iam ब्राउज़र में यह त्रुटि प्राप्त कर रहा है TypeError: अपरिभाषित @SaEChowdary –

+0

@what लाइन की संपत्ति 'कॉललॉग' नहीं पढ़ सकता? मेरा मतलब नियंत्रक या कारखाने में है? –

उत्तर

3

ऐसा लगता है कि window.plugins अपरिभाषित है। क्या मैं उस से बचने के लिए करते हैं, DeviceReady बजाय घटना ng-app निर्देशों का उपयोग पर मैन्युअल रूप से बूटस्ट्रैप AngularJS है के रूप में Cordova + Angularjs + Device Ready

में विस्तार से बताया है कि, अपने <body> तत्व से ng-app निर्देश निकाल दें और अपने app.js स्क्रिप्ट के शीर्ष पर इस जावास्क्रिप्ट रखने के लिए :

document.addEventListener('deviceready', function() { 
    var body = document.querySelector('body'); 
    angular.bootstrap(body, ['lmp']); 
}, false); 

यह जब तक कि डिवाइस कोणीय बूटस्ट्रैप के लिए तैयार है इंतज़ार, यह सुनिश्चित करना कि सभी डिवाइस सेवाओं इससे पहले कि आप उन्हें इस्तेमाल उपलब्ध हैं जाएगा।

संबंधित मुद्दे