我一直在尝试使用https://github.com/cordova-sms/cordova-sms-plugin
对于Android,它按预期工作。不幸的是,我无法捕获ios和windows的活动。它会打开消息应用程序(我们知道),但它不会等待消息响应,无论它是已发送,取消还是失败。 它始终响应成功。我已经在使用异步(在Android上工作)。
那是因为我无法使用成功和错误参数。
它只接受3个参数:
http://www.w3.org/2001/XMLSchema-instance
它不接受5个参数:
sms.send(number, message, options);
错误信息是:
sms.send(number, message, options, success, error);
是否有人能够使用此插件或其他插件捕获已取消的短信?
P.S。我尝试使用其他插件,但它甚至无法发送。
答案 0 :(得分:0)
根据您的错误消息(和您的标记),您正在使用带有离子原生的cordova-plugin。在这种情况下,您不需要传递成功/错误回调,因为离子团队为它构建了一个很好的包装器,因此它支持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。
答案 1 :(得分:0)
0
Google更改了有关短信访问的政策,因此不再允许直接阅读传入的短信,并且将删除关联的权限(SMS_READ)。
现在,有必要使用Android SMS检索器API,您的SMS消息需要遵循特定的格式才能被您的应用拦截。
在Cordova中,使用此插件可以轻松读取传入的SMS:
cordova插件添加cordova-plugin-android-sms-retriever Github:https://github.com/diegosiao/cordova-plugin-android-sms-retriever