【问题标题】:SMS Broadcasting from my app从我的应用程序发送短信
【发布时间】:2012-03-06 21:47:05
【问题描述】:

我想从我的应用发送短信广播。直到看到这篇文章,我才认为这是可能的。

http://blog.dev001.net/post/14085892020/android-generate-incoming-sms-from-within-your-app

我按照作者给出的说明进行操作。然而,作者并没有包括 GsmAlphabet 的作品。他确实提供了源的 URL,并简要总结了您需要调整的内容。我没有成功。我试图联系他,但他说他的电脑上不再有代码。我创建了一个新类并粘贴到源代码中。我用了我的包裹。我将例外更改为泛型。我用 Character.toString 修复了一些从字符到字符串的问题。我将一些 String.Empty() 错误更改为 equals("")。我注释掉了中心 SmsMessageBase 部分 b/c 它显示错误,似乎被包含在内,并且与作者的函数正在获取的内容无关。我将由资源“R”填充的数组整数切换到新的 int[0]...因为这就是 http://source-android.frandroid.com/frameworks/base/core/res/res/values/config.xml 中的值。当我运行它时,我没有收到任何错误...似乎什么也没发生。

大约一天后,我注意到 Handcent 说我的通知栏中有几条新消息。它们来自我的测试编号,但在查看时他们说“格式无效”。清除通知后,它们没有出现在收件箱中。

我希望有人可能拥有 GsmAlphabet 作品,这样我就可以看到我可能有什么不正确的地方。我已经在这方面花费了很多时间,并希望我可以让它发挥作用。有人在 stackoverflow 中稍微提到了这一点:

Permission denial on BroadCast SMS intent

我使用 Android 2.3.3 进行了测试。

【问题讨论】:

  • 这是我的 GsmAlphabet pastebin.com/Jh6hAnZu 的代码,这是 sendSms 片段 pastebin.com/A7WGNvE4
  • 你找到解决办法了吗?
  • 不,我找不到我需要的答案,所以我放弃了这个项目。对不起。

标签: java android


【解决方案1】:

你可以找到 GsmAlphabet here

【讨论】:

  • 作者也发布了 GsmAlphabet 源的链接。我的问题是尝试修改它,以便类可以在我的应用程序中工作。其他人已经成功了。
【解决方案2】:

GsmAlphabet 链接在上面。你复制EncodeException。它工作得很好,但我发现在Android4.1 他们改变了GsmAlphabet 所以它没有运行。如果您将GsmAlphabet 用于Android2.2,它仍然可以在Android3.0 使用

编辑:另一种解决方案是使用反射访问

try {
            String sReflectedClassName = "com.android.internal.telephony.GsmAlphabet";
            Class cReflectedNFCExtras = Class.forName(sReflectedClassName);
            Method stringToGsm7BitPacked = cReflectedNFCExtras.getMethod(
                    "stringToGsm7BitPacked", new Class[] { String.class });
            stringToGsm7BitPacked.setAccessible(true);
            byte[] bodybytes = (byte[]) stringToGsm7BitPacked.invoke(null,
                    body);
            bo.write(bodybytes);
        } catch (Exception e) {
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    相关资源
    最近更新 更多