Android SMS字符检查-使用countGsmSeptetsUsingTables()

时间:2019-05-20 10:53:03

标签: android sms special-characters

我对android开发非常陌生。

在我的应用中,我使用sendMultipartTextMessage()发送多部分短信。在发送之前,我想检查将用于发送该消息的SMS的数量。 Android已经内置了此功能,因此我认为最好不要编写自己的函数。

因此,我可以简单地使用smsManager.divideMessage()给我发送之前的消息数量。但是,理想情况下,我想执行以下操作:

  1. 在达到需要另一个SMS部分的阈值之前(例如'1个短信/剩余22个字符')提供有关正在使用的消息数和剩余字符的反馈。 Android中的countGsmSeptetsUsingTables似乎进行了检查,但不确定是否可以直接调用它,因为它不是Android API的一部分,并且还需要诸如languageTable之类的参数,但我不确定如何获取它们通过系统。
  2. 列出哪些字符不属于GSM 7位编码。同样,countGsmSeptetsUsingTables()会检查字符,但当前不会返回迫使它以unicode发送的字符。 (我有一个有趣的用例,从电子邮件到应用程序的复制和粘贴中不间断的空格导致它以unicode的形式发送,这意味着消息使用了3个部分而不是1个部分。)

有什么方法可以使用Android的内置检查吗?还是我最终不得不编写自己的countGsmSeptetsUsingTables()版本?

编辑: 我看到calculateLength()是API的一部分,应该满足(1),但不确定在不编写自定义函数的情况下(2)是否可能。

0 个答案:

没有答案