2

着信SMSは、ブロードキャスト受信機を使用して簡単に傍受できることを知っています。しかし、私は発信SMSを傍受する方法を見ませんでした。これはどのように行うことができますか?しかし、これを行う方法があります。多くのサードパーティアプリケーションが着信と発信の両方のSMSを読み取るためです。

4

1 に答える 1

6

次のようなことをする必要があります。

  1. 電話ですべてのメッセージのハッシュコードをキャッシュする
  2. 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;
}
于 2011-04-26T08:50:03.647 に答える