最後に受信した SMS のメッセージ本文を新しいテキストに置き換えたい Android アプリを開発しています。
最後に受信した SMS のメッセージ本文を変数に保存し、受信トレイから SMS を削除したい場合に使用BroadcastReceiver
しています。削除後、新しいエンコードされたメッセージを受信トレイに入れたいと思います。
今私が直面している問題は、受信トレイから最後に受信した SMS を削除する方法です。second last
この点でいくつかのコードを開発しましたが、受信トレイから (以前の) SMS を削除します。以下のコードを確認して、アプリを継続できるように助けてください。この親切な行為に感謝します。
public void deleteLastSMS()
{
// abortBroadcast();
String body = null;
String num = null;
try
{
Uri uri = Uri.parse("content://sms/inbox");
Cursor c =contex.getContentResolver().query(uri, null, null ,null,null);
if(c.moveToFirst())
{
body = c.getString(c.getColumnIndexOrThrow("body")).toString();
num = c.getString(c.getColumnIndexOrThrow("address")).toString();
}
int id = c.getInt(0);
int thread_id = c.getInt(1);
Uri thread = Uri.parse( "content://sms");
contex.getContentResolver().delete( thread, "thread_id=? and _id=?", new String[]{String.valueOf(thread_id), String.valueOf(id)} );
}
catch(CursorIndexOutOfBoundsException ee)
{
}
}