我已经绞尽脑汁待了一段时间,我需要一些其他的意见/可能的诊断。我的应用程序中有一个功能,用户向自己发送短信以验证她的电话号码(我知道有更好的解决方案,但这就是我现在正在做的事情)。我使用的代码适用于大多数手机,但在少数情况下失败,我可以;似乎确切地诊断为什么。我只是使用基本的SmsManager方法:
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, "sms verification", null, null);
以下是我尝试找到问题的根源所做的事情:
虽然我不打算在这里写出来,但是我使用BroadcastReceiver进行了调试,发现用户在这种情况下收到的错误是RESULT_ERROR_GENERIC_FAILURE,它并没有给出很多信息。不幸的是如何调试的提示方式。
我写了一个单独的应用程序,它只包含一个使用此方法发送短信的按钮。此应用程序用于向另一部手机发送短信,但在尝试向自己发送短信时失败。
我将成功发送的手机和短信的日志与手机失败进行了比较,我发现了这个基本的区别:当短信准备发送时,Android似乎使用xml文件运行配置名为featureset.xml。此文件包含与SMS相关的设置列表。虽然我不知道这些设置实际控制了什么,但我注意到在成功的手机上,它从/etc/featureset.xml获取此文件,而在不成功的手机上它从位置/ cust / OPEN_SG / config / featureset获取该文件.XML。这些文件包含许多相同的设置,但是存在差异,尽管成功设备上的文件因设备而异,因此我不确定哪个设置可能是问题。即使我确实知道这个文件是如何导致错误的,我也不知道如何解决这个错误。
长话短说,我不知所措。这只是使用SmsManager时某些百分比手机出现的问题吗?我还有什么别的吗?如果您对我应该检查的内容有任何其他想法,请告诉我,以便正确诊断此问题。哦,BTW,所有工作和失败的设备都在运行KitKat或Lollipop。感谢。