0

我的应用程序应该发送一条带有数据作为内容的短信,这是由我的应用程序生成的。在我用于测试的所有设备上,它是否像预期的那样工作。SMS 客户端程序出现,正确的号码设置为接收方,SMS 的内容就是我想要的。

在某些手机上,这是不正确的。其他一些人也在测试我的应用程序,在此测试期间我们注意到,一些智能手机正在打开 SMS 客户端,并与正确的接收者打开正确的“聊天”,但 SMS 内容是空的。发生这种情况的一部手机是CAT S62 Pro

因为在我所有的测试设备上它都能正常工作,所以我试图通过不使用默认 SMS 客户端来重现这种不当行为。通过使用“Schlichter SMS Messenger”(https://play.google.com/store/apps/details?id=com.simplemobiletools.smsmessenger&gl=DE),我能够有同样的不当行为。但我认为会发生这种情况,因为这个应用程序没有处理使用 Intent 发送的 SMS 正文。

这是我调用 SMS 客户端的部分代码:

val sendIntent = Intent(Intent.ACTION_SENDTO)
sendIntent.data = Uri.parse("smsto:${phoneNumber}")
sendIntent.putExtra("sms_body", message)
if (sendIntent.resolveActivity(packageManager) != null) {
   startActivity(sendIntent)
} else {
   Toast.makeText(applicationContext, "No SMS system application found.", Toast.LENGTH_LONG).show()
}

有谁知道为什么某些手机默认的 SMS 客户端(例如 CAT S62 Pro 的客户端)无法正确处理 SMS 正文?难道我做错了什么?有修复或解决方法吗?还是我必须忍受某些默认 SMS 客户端并不总是能够正确处理 SMS 正文的情况?

4

0 回答 0