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