取消了cordova-sms / cordova-sms-plugin上的短信

时间:2017-09-26 09:33:53

标签: ios windows cordova ionic2 cordova-plugins

我一直在尝试使用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。我尝试使用其他插件,但它甚至无法发送。

2 个答案:

答案 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