Android: Is there any way to listen outgoing sms?

后端 未结 1 1092
盖世英雄少女心
盖世英雄少女心 2020-12-16 08:38

I know that an incoming sms can be easily intercepted using a broadcast reciever. But I did not see any way to intercept an outgoing sms. How can this be done? But there is

相关标签:
1条回答
  • 2020-12-16 09:40

    You will have to do something like this:

    1. Cache all messages's hash code on the phone
    2. Register an content observer for content://sms
    3. In onChange method of observer, enumrate all messages to check if it is in cache, if not, the message is sent out just now.

    Good luck with your project :-)

    Edit: md5 method
    You can take the (arrival date + message) text to get a unique md5 output.

    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;
    }
    
    0 讨论(0)
提交回复
热议问题