【问题标题】:How to deleting SMS in android studio如何在android studio中删除短信
【发布时间】:2018-02-28 19:07:24
【问题描述】:

我可以从手机收到短信 我想从手机中删除最后一条消息。 我怎样才能做到这一点? 你能帮我吗?谢谢。

我用来拉短信的代码:

@Override
public void onReceive(Context context, Intent intent) {

    Bundle bundle = intent.getExtras();
    SmsMessage[] smsm = null;
    String sms_str = "";
    String id = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);


    if (bundle != null) {
        Object[] pdus = (Object[]) bundle.get("pdus");
        smsm = new SmsMessage[pdus.length];

        for (int i = 0; i < smsm.length; i++) {
            smsm[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
            sms_str += "SMS: ";
            sms_str += smsm[i].getMessageBody().toString();
            sms_str += "\n\r";
            String number= smsm[i].getOriginatingAddress();
            Intent smsIntent = new Intent("otp");
            smsIntent.putExtra("message", sms_str);
            LocalBroadcastManager.getInstance(context).sendBroadcast(smsIntent);

        }
    }

【问题讨论】:

    标签: java android permissions sdk sms


    【解决方案1】:

    在现代 Android 设备上,只有默认的 SMS 应用(由用户设置,无法在非 root 手机上以编程方式设置)可以删除 SMS。如果您尝试删除它是因为您的应用使用 SMS 进行通信,请查看其他通信形式。

    【讨论】:

    • 上面的示例代码显示了传入的短信我想删除它一样
    • @MustafaKemal 除非您是用户设置的默认 SMS 应用程序,否则您不能。这是在 Android 4.4 左右(必须查找确切版本)中进行的安全更改,以防止应用程序仅删除 SMS。如果你是那个应用,你可以从内容提供者中删除它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多