我想從我的android設備發送短信並從mydevice(發送郵件)中刪除它。從4.4.4刪除短信從Android(受影響的行= 0(零),刪除後)
短信保存在設備(4.4.4)中,但短信不會被我的代碼刪除。刪除行影響後= 0(零)。
我的設備vesrion是4.4.4。
在其他設備中,SMS不會被保存。爲什麼短信會保存在Android 4.4.4中?
我不想保存我發送的短信或失敗的短信(哪些沒有發送)。
請幫幫我。
我的權限
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
我的代碼發送短信
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(number, null, msg, null, null);
我打電話的方法deleteSMS()的處理程序與5秒
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
String message = CastApplication.mPref.getString(context.getResources().getString(R.string.pref_message_to_friend), "");
deleteSMS(context, message, number);
if (MyCastFragment.getInstance() != null) {
MyCastFragment.getInstance().updateView();
}
progressDialog.dismiss();
context.finish();
}
}, 5000);
刪除短信
的postdelaypublic void deleteSMS(Context ctx, String message, String number) {
try {
Uri uriSms = Uri.parse("content://sms");
Cursor c = ctx.getContentResolver().query(uriSms,
new String[] { "_id", "thread_id", "address",
"person", "date", "body" }, null, null, null);
Log.i(TAG, "c count......"+c.getCount());
if (c != null && c.moveToFirst()) {
do {
long id = c.getLong(0);
long threadId = c.getLong(1);
String address = c.getString(2);
String body = c.getString(5);
String date = c.getString(3);
Log.e("log>>>", "0>" + c.getString(0) + "1>" + c.getString(1) + "2>" + c.getString(2) + "<-1>" + c.getString(3) + "4>" + c.getString(4)+ "5>" + c.getString(5));
// Log.e("log>>>", "date" + c.getString(0));
// if (body.contains(getResources().getText(R.string.invite_text).toString()) && address.equals(number)) {
if (message.equals(body) && address.equals(number)) {
// mLogger.logInfo("Deleting SMS with id: " + threadId);
int rows = ctx.getContentResolver().delete(Uri.parse("content://sms/" + id), "date=?",new String[] { c.getString(4) });
Log.e("log>>>", "Delete success......... rows: "+rows);
Log.e("log>>>", "Delete success......... body: "+body);
}
} while (c.moveToNext());
}
} catch (Exception e) {
Log.e("log>>>", e.toString());
Log.e("log>>>", e.getMessage());
}
}
你如何解決你的問題? – Erum 2015-02-10 12:01:08
@ErumHannan號按照下面的答案,這是不可能的 – 2015-02-11 06:11:14
我成功地刪除了我的所有收件箱郵件,你會想做同樣的事情嗎? – Erum 2015-02-11 06:31:22