Android: Is there any way to listen outgoing sms?

核能气质少年 提交于 2019-11-29 02:44:35

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;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!