電話オペレーターの電子メール サービスから受信したすべての SMS を傍受する簡単なアプリケーションを作成しようとしています。
仕組み: 携帯電話会社から電子メールが届き、SMS で電子メールが受信トレイに届くたびに通知されます。SMS は次のように送信されます。
You have a new e-mail from:email@domain.com See it now through internet! Visit http://m.iclaro.com.br. Subject: SUBJECT GOES HERE
私が作成しようとしているこのアプリは、これらの SMS を傍受し、件名全体 (「SUBJECT GOES HERE」) を取得し、内容に件名のみを含む番号から偽の SMS を送信する必要があります。
私がすでに行ったこと: この電子メール サービスからこれらすべての SMS を傍受し、件名を取得して、件名だけで新しい番号 (私は 3 つを選びました) から新しい SMS を偽造します。
しかし、ここで問題が発生しました。この新しい偽の SMS には通知が表示されません。
BroadcastReceiver は次のようになります。
public class SmsReceiver extends BroadcastReceiver
{
...
public void onReceive( Context context, Intent intent )
{
...
if(address.contains("1") && body.contains(replace))
{
body = body.substring(body.lastIndexOf(replace),body.length());
body = body.replace(replace, "");
address = "3";
ContentResolver contentResolver = context.getContentResolver();
ContentValues values = new ContentValues();
values.put("address", address);
values.put("body", body);
contentResolver.insert(Uri.parse("content://sms/inbox"), values);
this.abortBroadcast();
}
}
}
私もしようとしました:
if(address.contains("1") && body.contains(replace))
{
this.abortBroadcast();
と
contentResolver.insert(Uri.parse("content://sms/inbox"), values);
this.abortBroadcast();
と
this.clearAbortBroadcast();
contentResolver.insert(Uri.parse("content://sms/inbox"), values);
this.abortBroadcast();
最後に受信した SMS を再通知する方法はありますか? 助言がありますか?