android - 短信未收到...仅在某些情况下...运营商/国家/地区?

标签 android sms samsung-mobile sms-gateway smsmanager

我有一个技术问题无法解决,因为该问题仅发生在我所在星球的另一侧。

因此,我希望对这些技术有更多经验的人可以提出另一种方法或方法来纠正它,或者可能会“发现”问题的根源。

场景:

我已经为Samsung Gear2开发了一个应用程序,该应用程序使用其主机配套android应用程序发送SMS消息。

在我使用该应用对执行的所有测试中,所有操作均按预期进行。

消息是由android设备的短信管理器发送的,并且即使添加和删除前导1的收件人也没问题。

带有和不带有前导+号的往返于美国的10和11位数字都可以通过。

但是,将应用程序发送给三星进行审查和测试时,他们在发送某些号码方面一直遇到问题。据我所知,发送的数字和失败的数字之间唯一不同的是,第一个数字前导0,第二个数字前导0。

这必须与他们正在测试此功能的事实相结合
在与我进行测试的国家/地区不同的大陆/国家/地区(美国)。
由于我的测试成功发送和接收消息,无论是否
该数字是相同数字的10位数字版本或11位数字版本。

除了我正在测试的运营商(美国贝尔)以外,其他运营商(可能是亚洲的电信)的使用也存在差异...

明确地说,我只是通过Gear2应用程序编写消息,然后通过三星的附件协议将其发送到android设备,该协议运行正常。

从那里我使用标准的基本实现


Android的SMSManager

getDefault()




sendTextMessage(String destinationAddress, String scAddress, String 

text, PendingIntent sentIntent, PendingIntent deliveryIntent)


所有空值都显示为“ destinationAddress”,“ text”,
和“ sentIntent”。



问题:从最重要到最不重要

1.是否有特定的“例行” SMS应用程序开发人员用来最大程度地提高
成功率
用户发送消息的国家/地区或运营商,以及输入的号码是否包含开头的退出代码和国家/地区代码,无论发送的短信是多少?


(即:根据语言环境检查,添加或删除加号(+)
被使用,并使用某种方式相应地调整数量
“ SMS编号标准”,更改服务中心地址/ SMSC
地址(AT + CSCA)等)?


2.是否有某种信息源详细介绍了一般的“ GOTCHAS”以供查找
取决于各种Cell / SMS服务提供商/运营商? (我至少知道4个)。

3.如果消息未实际发送,为什么Android的SMSManger会报告“ SMS已发送”。

注意:我意识到一个人也可以收听android发送的“第二”广播
确认邮件是“实际上”已由收件人接收的,但是提出了有关如何纠正这种情况(如果至少可以纠正的话)的问题(至少从编程角度而言)。

4.如果我的应用程序实际上是与Android应用程序集成在一起的Samsung Gear2应用程序,
并仅委派将消息发送到android设备SMSManager的责任,对未发送消息负责?


注意:我不禁觉得三星要我处理
问题超出范围且与预期的应用程序无关
功能,尽管如此,但我确实了解,至少有一部分
默认情况下,这个问题必须依靠我,因为Gear2的本质
应用依赖android设备来完成预期的操作
由Gear2应用启动,但是我必须走多远才能确保标准
用户android设备的SMS功能不仅仅提供有用的反馈
关于潜在的问题是什么。我必须假设这个
使用设备本身来编写消息将存在问题
给出完全相同的地址/编号,而不是Gear2应用。


5.假设该应用程序正在亚洲(韩国,三星总部)进行测试...并假设用于测试SMS的运营商是SK Telecom。


(我认为这是韩国的顶级运营商)...


为了在同一国家/地区成功发送SMS,是否必须将所有数字都从零开始?如果是这样,除了美国和加拿大之外,所有其他国家/地区都一样吗?

6.这是开发短信应用程序时通常要解决的一个普遍问题,还是我可以根据三星过度勤奋的测试实践以及不熟悉的测试方法引入的独特变量,将这种特殊情况与其他情况一一列举?
电话服务提供商,甚至更多不熟悉的地理位置/国家/地区代码和编号方案。



问题*(仅在Samsung测试期间发生):

测试1:

从存储的联系人发送短信,其号码为010-6627-xxxx(11位数字)


结果:

SMS由android的SMSManager报告为已发送。收件人
立即收到短信。

结论:

短信发送成功。


测试2:

通过手动输入号码10-6627-xxxx(10位数字)发送短信(与之前的数字相同,没有前0个)


结果:

SMS由android的SMSManager报告为已发送。但是,那
收件人永远不会收到SMS消息。

结论:




不能将这个问题重复出现(至少在美国不是这样):


11位数字(前导1)和10位数字
(无前导1)


Successfully send the message as expected.


该问题仅在通过三星应用测试进行设备测试/认证期间发生
部门,似乎只有在手动输入目标地址/号码时才可以。


存储的联系人(由于某种原因)始终有效。


在三星因无法在我自己的测试环境中重现的问题而被三星三次拒绝通过“良好应用”认证后,我发现自己使用此“ HAIL MARY PASS”成为了SOF的好伙伴。

我根本没有更改发送到SMSManager的号码的任何内容,但是我想知道这是否是问题所在。

额外信息:
使用的所有设备均使用android 4.2及更高版本。
我的测试都是使用T-Mobile Galaxy手机(有时是google / Gmail / GoogleVoice)完成的
来自美国北佛罗里达的sms / mms服务。

关于三星的侧面说明...
三星的测试人员对其测试环境的详细信息非常稀疏,包括从他们的角度来看可能是不幸的问题,因为我确信此问题充其量只是琐碎的事,并且只要您对自己的国家/地区有基本了解就可以轻松解决。 /运营商方法,用于发送成功的SMS消息。
看来他们甚至都没有努力启发我或进行任何必要的工作
为了获得成功的结果,可以像任何用户一样调整其测试编号。

对此问题的任何见解都将不被认可!!!

最佳答案

有趣的问题。我了解三星的测试过程可能非常严格。
通过阅读您的信息..您是否尝试过自己以“ 0”开头?例如,当某人手动输入10个数字而不带前导0时,您将检测到该数字并将其添加为“ 0”。另外,如何在Gear 2设备上输入此数字?您是否实现自己的键盘并确保其捕获了正确的数字?

我想那将是一个起点。

V.

关于android - 短信未收到...仅在某些情况下...运营商/国家/地区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24209240/

相关文章:

android - Genymotion 在浏览网站和运行 cordova 应用程序时速度太慢

android - 如何在 Android Kitkat 中设置我的短信应用默认?

android.provider.Settings.ACTION_BLUETOOTH_SETTINGS 在三星上崩溃

c# - Windows应用程序获取连接的Android手机的电池状态

java - 应用程序小部件在某些设备中无法连接到服务器

android - 添加后端到 Ionic 应用程序以从 MySQL 数据库读取

android - 在 Android 上从浏览器下载文件时遇到问题

android - 在不发布应用程序的情况下在 Android 手机上获取 chrome 应用程序

android - 如何以编程方式更改默认应用程序?

ruby-on-rails - heroku 短信附加组件? -- 月影堂失踪