我知道使用广播接收器可以轻松拦截传入的短信。但我没有看到任何方法来拦截传出的短信。如何才能做到这一点?但有一种方法可以做到这一点..因为许多第三方应用程序都会读取传入和传出的短信。
最佳答案
你必须做这样的事情:
- 在手机上缓存所有消息的哈希代码
- 注册 content observer对于内容://短信
- 在观察者的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;
}
关于Android:有什么办法可以监听传出的短信吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5787894/