【问题标题】:Delete SMS on 4.4 even with my app set to default sms app即使我的应用程序设置为默认短信应用程序,也可以在 4.4 上删除短信
【发布时间】:2015-04-14 11:23:37
【问题描述】:

就像标题集一样,我尽一切努力将我的应用程序设置为默认短信应用程序,并且它有效:我可以发送短信。 现在我想删除短信,但它不起作用。

这是设置为默认值的代码(我已经更新了清单和所有内容,但我不会粘贴它):

int sdkvers = Integer.valueOf(Build.VERSION.SDK);
if (sdkvers >= 19) {
    final String packageName = context.getPackageName();

    Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);

    intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName);
                        context.startActivity(intent);
}

现在是删除短信的代码:

public void deleteSMS(Context context, String message) {
    try {
        Uri uriSms = Uri.parse("content://sms/inbox");
        Cursor c = context.getContentResolver().query(
                uriSms,
                new String[] { "_id", "thread_id", "address", "person",
                        "date", "body" }, null, null, null);

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


                String[] messagTab = Main.pullOut(message);
                String mss = messagTab[0];

                // Main.showmessage(Main.ct,mss);

                if (mss.equals("Zall") || mss.equals("s")) {

                    context.getContentResolver().delete(
                            Uri.parse("content://sms/" + id), null,null);
                    Toast.makeText(Main.ct,"Alerte enrégistrée.",Toast.LENGTH_LONG).show();
                    break;
                }
            } while (c.moveToNext());
        }
    } catch (Exception e) {
        Log.e("log>>>", e.toString());
    }
}

也许我忘记了什么?

【问题讨论】:

  • 你是否在 manifest 中提供了短信写入权限
  • 是的,我做到了:
  • 请帮忙....
  • 兄弟你找到解决方案了吗?我也有你的问题
  • 您必须使用 AppOpps 来获得修改短信的权限,就像在默认短信应用程序中一样,但这样您就不需要在用户中请求默认应用程序权限或在设备上拥有 root 权限。它适用于所有 4.4-4.4.4 设备。

标签: android android-4.4-kitkat sendmessage


【解决方案1】:

这是一个包含必要组件和意图过滤器的清单文件 http://android-developers.blogspot.tw/2013/10/getting-your-sms-apps-ready-for-kitkat.html

【讨论】:

  • 欢迎来到 Stack Overflow!虽然这在理论上可以回答这个问题,it would be preferable 在此处包含答案的基本部分,并提供参考链接。
猜你喜欢
  • 1970-01-01
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
相关资源
最近更新 更多