【问题标题】:Android: Is there any way to listen outgoing sms?Android:有什么方法可以收听传出的短信吗?
【发布时间】:2011-04-26 17:54:52
【问题描述】:

我知道使用广播接收器可以轻松拦截传入的短信。但我没有看到任何拦截传出短信的方法。如何才能做到这一点?但是有一种方法可以做到这一点。因为许多第三方应用程序同时读取传入和传出的短信。

【问题讨论】:

    标签: android sms intercept


    【解决方案1】:

    你必须这样做:

    1. 在手机上缓存所有消息的哈希码
    2. 注册content observer for content://sms
    3. 在观察者的onChange方法中,枚举所有消息,检查是否在缓存中,如果没有,则消息刚刚发送出去。

    祝你的项目好运:-)

    编辑:md5 方法
    您可以获取(到达日期+消息)文本以获得唯一的 md5 输出。

    private String md5(String in) {
        MessageDigest digest;
        try {
            digest = MessageDigest.getInstance("MD5");
            digest.reset();        
            digest.update(in.getBytes());
            byte[] a = digest.digest();
            int len = a.length;
            StringBuilder sb = new StringBuilder(len << 1);
            for (int i = 0; i < len; i++) {
                sb.append(Character.forDigit((a[i] & 0xf0) >> 4, 16));
                sb.append(Character.forDigit(a[i] & 0x0f, 16));
            }
            return sb.toString();
        } catch (NoSuchAlgorithmException e) { e.printStackTrace(); }
        return null;
    }
    

    【讨论】:

    • 非常好的方法...顺便说一句,我如何存储消息的哈希码。直到现在我才知道,这是可能的。非常感谢您的帮助。非常感谢。 :-)
    • 例如,您可以使用 md5 哈希。我会用 Java md5 方法更新我的帖子。
    猜你喜欢
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 2023-02-06
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    相关资源
    最近更新 更多