首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >已取消cordova上的短信- SMS /cordova-sms-plugin

已取消cordova上的短信- SMS /cordova-sms-plugin
EN

Stack Overflow用户
提问于 2017-09-26 17:33:53
回答 2查看 380关注 0票数 1

我一直在尝试使用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);

错误消息为:

代码语言:javascript
复制
[ts] Expected 2-3 arguments, but got 5.
(method) SMS.send(phoneNumber: string | string[], message: string, options?: SmsOptions): Promise<any>

有没有人能够用这个或其他插件捕获取消的短信?

另外,我试着使用其他插件,但它甚至不能发送。

EN

回答 2

Stack Overflow用户

发布于 2017-09-26 19:19:29

根据你的错误信息(和你的标签),你使用的是cordova-plugin和you native。在这种情况下,您不需要传递成功/错误回调,因为ionic团队为它构建了一个很好的包装器,因此它支持promise回调(docs for the .send() method)。

要使用它,你必须修改你的代码,如下所示:

代码语言:javascript
复制
sms.send(number, message, options).then(
  success => {
    console.log(success);
  },
  error => {
    console.log(error);
  },
);

请注意,回调只有在此插件的iOS上才能正常工作。在Android平台上,由于操作系统的限制,它总是会立即返回成功。有关更多信息,请参阅其github页面上的this FAQ

票数 0
EN

Stack Overflow用户

发布于 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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46422796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档