从4.4.4的Android上删除短信(受影响的行= 0(零),删除后)

我想从我的android设备发送短信,并从mydevice(发送邮件)中删除它。

短信保存在设备(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); 

我从postdelay的5秒处理程序调用deleteSMS()方法

 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); 

删除短信

 public 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()); } } 

Solutions Collecting From Web of "从4.4.4的Android上删除短信(受影响的行= 0(零),删除后)"

除非您的应用程序在设备中被标记为默认的短信应用程序,否则您将无法使用短信提供程序进行游戏,请阅读同样适用于KITKAT的短信指南

应用程序可以删除短信在Kitkat没有默认的短信应用程序授予。

您只需要WRITE_SMS权限和AppOpps操作。

之后你的短信可以在收到10秒后删除,通知也会绝望。