gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:06:46 24 4
gpt4 key购买 nike

我想从我的 android 设备发送短信并从我的设备中删除它(已发送的消息)。

短信保存在设备(4.4.4)中,但我的代码没有删除短信。删除受影响的行后 = 0(零)。

我的设备版本是 4.4.4。

在其他设备中,短信不会被保存。为什么在 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);

我正在从具有 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());
}
}

最佳答案

除非您的应用在设备中被标记为默认 SMS 应用,否则您将无法使用 SMS Provider,请阅读关于 KITKAT 的 SMS 指南。

关于android - 从 4.4.4 上的 android 删除短信(受影响的行 = 0(零),删除后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25988574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com