3

最後に受信した 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)
        {

        }


    }
4

1 に答える 1