日付とSMSの発信元アドレスに基づいてSMSを削除したいSMSアプリを作成しています。I already know how to delete the sms on the basis of these 2 criterias
.受信トレイに既に存在するSMSの場合、次のコードを使用してSMSの正しいタイムスタンプを取得しています:
String date = cursor.getString(cursor.getColumnIndex("date"));
Long timestamp = Long.parseLong(date);
String DateTime = MyDate.getDate(timestamp, "dd/MM/yyyy hh:mm:ss a");
Log.d("Value: ","Value of date in ApplicationIntialiseCareTaker is "+DateTime);
しかし、新しい着信 SMS の場合、SMS の正しいタイムスタンプを取得していないため、SMS を削除できません。これは、着信 SMS の場合に SMS のタイムスタンプを取得するために使用しているコードです。
body = sms.getMessageBody().toString();
address = sms.getOriginatingAddress();
long date = sms.getTimestampMillis();
ここでこのコードでは、問題は、想定どおりに約 1 秒の遅延でタイムスタンプを取得していることです。たとえば、実際のタイム スタンプは 12:10:32 ですが、着信 SMS を受信する場合にこのコードを使用すると、12:10:33 になります。何が問題なのかわからない。