2016-10-03 78 views
0

我正在嘗試將SMS cordova插件添加到我的離子應用程序中,但我失敗了。Ionic&Cordova短信插件

我不知道如何注入插件或使用它的文檔似乎更phonegapp爲導向。

我有以下幾點:

安裝

cordova plugin add https://github.com/cordova-sms/cordova-sms-plugin.git

我的觀點

<button ng-click="send()">Test</button> 

我的控制器

angular.module('starter.controllers', []) 

.controller('DashCtrl', function($scope, $http, $state, $cordovaSms) { 

     $scope.send = function(){ 

     $cordovaSms 
     .send('phonenumber', 'SMS content') 
     .then(function() { 
     // Success! SMS was sent 
     }, function(error) { 
     // An error occurred 
     }); 

     }; 

}) 

我得到以下錯誤:

ionic.bundle.js:26794 Error: [$injector:unpr] Unknown provider: 

$cordovaSmsProvider <- $cordovaSms <- DashCtrl 

回答

1

我認爲這是一個外殼的問題。你使用的是離子原生的嗎?如果沒有,從那裏開始。 bower install ionic-native --save bower uninstall ngCordova --save

然後在您的模塊依賴項中將ngCordova替換爲ionic.native

這裏是我的一個項目工作的代碼...

.controller('RosterCtrl', function ($cordovaSMS, ... 

    // snip .... 

    $cordovaSMS.send(phone, message) 
     .then(function() { 
     $log.log('Message sent.'); 
     }); 
+0

謝謝麥克我會給它一個去!這將允許我使用Ionic視圖應用程序進行測試嗎? –

+0

我不相信短信在離子視圖中工作,沒有。我不得不使用真實的設備。我只是在我的iPhone的Ionic View上試過,沒有發生任何事情。 Android在Ionic View上可能會有所不同。 – MikeC

+0

我會給它一個去看看會發生什麼,沒有聽說過離子本土之前可能會解決我的問題:)謝謝 –

0

對離子2,科爾多瓦-SMS-插件的解決方案選擇本地短信插件。到目前爲止,除了要將郵件發送給多個收件人的情況之外,這一切都很好。

此時,即使我們使用字符串數組,cordova-sms-plugin也不會發送給多個收件人。它會成功發送給第一個收件人,但不會發送給數組的其餘部分。

因此,我搜索了一段時間後,我又得到了另一個cordova plugin,它發送消息給數組中的所有數字。唯一的問題是,如果這些號碼中的電話號碼無效或不完整,它就會忽略它們並傳遞給下一個號碼發送。

當某些數字無效或不完整,但至少發送給多個數字時,會有回調或至少有一個跟蹤很好。

乾杯