Ionic & Cordova SMS 插件

Ionic & Cordova SMS Plugin

我正在尝试将 SMS 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

我认为这是一个大小写问题。你还在使用 ionic-native 吗?如果没有,从那里开始。 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.');
      });

在 IONIC 2 上,cordova-sms-plugin 是本机 SMS 插件的解决方案选择。到目前为止一切顺利,除了您想将消息发送给多个收件人的情况。

此时,即使我们使用字符串数组,cordova-sms-plugin 也不会发送给多个收件人。它将成功发送给第一个收件人,但不会发送给数组的其余部分。

所以在我搜索了一段时间后,我得到了另一个 cordova plugin,它向数组中的所有数字发送消息。唯一的问题是,如果这些数字中有无效或不完整的 phone 个数字,它只会忽略它们并传递给下一个要发送的数字。

当某些数字无效或不完整时,最好有一个回调或至少一个跟踪,但至少它会发送到多个数字。

干杯

Google 更改了有关 SMS 访问的策略,因此不再允许直接读取传入的 SMS,相关权限将被删除 (SMS_READ)。

现在,有必要使用 Android SMS Retriever API (Android SMS Retriever API) 并且您的 SMS 消息需要符合特定格式才能被您的应用拦截.

在 Cordova 中使用此插件轻松读取收到的短信:

cordova plugin add cordova-plugin-android-sms-retriever

Github: https://github.com/diegosiao/cordova-plugin-android-sms-retriever