从机器人删除短信的4.4.4(受影响的行数= 0(零),删除后) [英] Delete SMS from android on 4.4.4 (Affected rows = 0(Zero), after deleted)

查看:143
本文介绍了从机器人删除短信的4.4.4(受影响的行数= 0(零),删除后)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从我的Andr​​oid设备上发送短信,并从mydevice在删除(发送的消息)。

短信保存在设备(4.4.4),但短信是不是与我的code删除。后受影响的删除行= 0(零)。

我的设备vesrion是4.4.4。

在其他设备,短信不会被保存。为什么短信的保存在安卓4.4.4?

我不想救我发短信的或失败的短信的(这是不发送)。

请帮我。

我的权限

 <使用-权限的Andr​​oid:名称=android.permission.SEND_SMS/>
<使用-权限的Andr​​oid:名称=android.permission.READ_SMS/>
<使用-权限的Andr​​oid:名称=android.permission.WRITE_SMS/>
 

我的code是发送短信

  SmsManager的SmsManager的= SmsManager.getDefault();
smsManager.sendTextMessage(数字,空,味精,NULL,NULL);
 

我打电话从处理方法deleteSMS()与5秒的postdelay

 处理程序处理程序=新的处理程序();
handler.postDelayed(新的Runnable(){

            @覆盖
            公共无效的run(){
                字符串消息= CastApplication.m pref.getString(context.getResources()的getString(R.string pref_message_to_friend),);
                deleteSMS(上下文,消息号);

                如果(MyCastFragment.getInstance()!= NULL){
                    MyCastFragment.getInstance()的UpdateView()。
                }

                progressDialog.dismiss();
                context.finish();
            }
        },5000);
 

删除短信

 公共无效deleteSMS(上下文CTX,字符串消息,串号){
        尝试 {
            乌里uriSms = Uri.parse(内容:// SMS);
            光标C = ctx.getContentResolver()查询(uriSms,
                新的String [] {_id,thread_id单,地址,
                    人,日期,身体},NULL,NULL,NULL);

            Log.i(TAG,C算......+ c.getCount());
            如果(C =空&安培;!&安培; c.moveToFirst()){
                做 {
                    长ID = c.getLong(0);
                    长threadId的= c.getLong(1);
                    串地址= c.getString(2);
                    串体= c.getString(5);
                    字符串日期= c.getString(3);
                    Log.e(日志>>>中,0>中+ c.getString(0)+1>中+ c.getString(1)+2>中+ c.getString(2)+ &其中; -1>中+ c.getString(3)+4>中+ c.getString(4)+10>中+ c.getString(5));
// Log.e(日志>>>中,日期+ c.getString(0));

//如果(body.contains(getResources()的getText(R.string.invite_text)的ToString())及。&安培; address.equals(编号)){
                    如果(message.equals(体)及&安培; address.equals(编号)){
                        // mLogger.logInfo(删除短信ID:+ threadId的);
                        诠释行= ctx.getContentResolver()删除。(Uri.parse(内容://短信/+ ID),?日期=,新的String [] {c.getString(4)});
                        Log.e(日志>>>中,删除成功.........行:+行);
                        Log.e(日志>>>中,删除成功.........身体:+体);
                    }
                }而(c.moveToNext());
            }

        }赶上(例外五){
            Log.e(日志>>>中,e.toString());
            Log.e(日志>>>中,e.getMessage());
        }
    }
 

解决方案

除非你的应用程序被标记为设备的默认短信的应用程序,你将无法与SMS提供播放,请阅读短信准则相同的<一个href="http://android-developers.blogspot.in/2013/10/getting-your-sms-apps-ready-for-kitkat.html">KITKAT

i want to send SMS from my android device and delete it from mydevice(Sent messages).

SMS are saved in device(4.4.4) but SMS is not deleted with my code. after delete rows affected = 0(Zero).

My device vesrion is 4.4.4.

In other devices, SMS are not being saved. Why does SMS's are saved in Android 4.4.4?

I dont want to save my sent sms's or failure sms's(Which are not sent).

please help me.

My permissions

<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />

My Code is to send SMS

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(number, null, msg, null, null);

I am calling the method deleteSMS() from handler with postdelay of 5seconds

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

Delete SMS

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

解决方案

Unless your app is marked as default SMS app in device, you wont be able to play with SMS Provider, please read SMS guidelines for the same for KITKAT

这篇关于从机器人删除短信的4.4.4(受影响的行数= 0(零),删除后)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆