我正在开发一个 Android 应用程序,我想用一些新文本替换上次收到的 SMS 的消息正文。
我正在使用BroadcastReceiver
其中我想将最后收到的短信的消息正文存储在一个变量中并从收件箱中删除短信,现在删除后我想在收件箱中放入一条新的编码消息。
现在我面临的问题是如何从收件箱中删除最后收到的短信。我在这方面开发了一些代码,但它second last
从收件箱中删除了(以前的)短信。请检查下面的代码并帮助我继续我的应用程序,我非常感谢你的这种善意。
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)
{
}
}