我一直在尝试使用https://github.com/cordova-sms/cordova-sms-plugin
对于Android,它的工作方式与预期一致。不幸的是,我无法捕获ios和windows的活动。它会打开Messages应用程序(正如我们所知),但它不会等待消息响应,无论消息是已发送、已取消还是已失败。它总是响应成功。我已经在使用async (在Android上工作)。
这是因为我不能使用success和error参数。
它只接受3个参数:
sms.send(number, message, options);
它不接受5个参数:
sms.send(number, message, options, success, error);
错误消息为:
[ts] Expected 2-3 arguments, but got 5.
(method) SMS.send(phoneNumber: string | string[], message: string, options?: SmsOptions): Promise<any>有没有人能够用这个或其他插件捕获取消的短信?
另外,我试着使用其他插件,但它甚至不能发送。
发布于 2017-09-26 19:19:29
根据你的错误信息(和你的标签),你使用的是cordova-plugin和you native。在这种情况下,您不需要传递成功/错误回调,因为ionic团队为它构建了一个很好的包装器,因此它支持promise回调(docs for the .send() method)。
要使用它,你必须修改你的代码,如下所示:
sms.send(number, message, options).then(
success => {
console.log(success);
},
error => {
console.log(error);
},
);请注意,回调只有在此插件的iOS上才能正常工作。在Android平台上,由于操作系统的限制,它总是会立即返回成功。有关更多信息,请参阅其github页面上的this FAQ。
发布于 2019-01-12 00:43:32
谷歌改变了有关短信访问的政策,因此不再允许直接读取传入的短信,相关权限将被删除(SMS_READ)。
现在,有必要使用Android SMS Retriever API,您的SMS消息需要符合特定的格式,以便被您的应用程序拦截。
在Cordova中,使用此插件可以轻松读取传入的SMS:
cordova插件添加cordova- plugin -android-sms-检索器Github:https://github.com/diegosiao/cordova-plugin-android-sms-retriever
https://stackoverflow.com/questions/46422796
复制相似问题