我尝试使用以下链接中提供的插件
https://github.com/floatinghotpot/cordova-plugin-sms?files=1
我收到错误短信未定义
以下是我的控制器代码
angular.module('starter.controllers', [])
.controller('SMSCtrl', function($scope ,$ionicPopup ) {
$scope.data = {};
$scope.SMSlist = function() {
console.log("Button click");
var filter = {
box : 'inbox', //inbox, sent, draft
//following 4 filters should not be applied together, they are OR relationship
read :1, //0 for unread and 1 for already
// _id: 1234, //specify the msg id
// body : 'This is a test SMS' , //content to match
// address: '+9731151243';
indexFrom : 0,
maxCount : 10,
};
if(SMS) SMS.listSMS(filter,function(data){
if(Array.isArray(data)){
var sms = data[i];
console.log(sms);
$scope.article = sms;
}
}, function(err) {
var alertPopup = $ionicPopup.alert({
title: 'Reading Failed!',
template: 'Read Failed'
});
})
}
})
任何帮助将不胜感激
答案 0 :(得分:1)
我遇到了同样的问题。
您需要使用
中的SMS插件$ionicPlatform.ready(function() {
// Your plugin use here
}
答案 1 :(得分:0)
尝试
if(window.SMS) window.SMS.listSMS(filter,function(data){
if(Array.isArray(data)){
var sms = data[i];
console.log(sms);
$scope.article = sms;
}
答案 2 :(得分:0)
要解决“未定义短信”的问题,您需要在strip()
之前添加declare var SMS: any;
。
然后,要列出SMS,必须从JSON中提取所有值(您的@Component({ ... })
在JSON中)。
为此,您只需要在data
之前添加JSON.stringify(data);
并删除function
即可:
data
因此,if(SMS) SMS.listSMS(filter, (data)=>{
JSON.stringify(data);
if(Array.isArray(data)) {
for(var data in data) {
this.msg = ListSms[data].address;
}
}
},Error=>{}),
现在拥有所有短信。