2014-09-23 6 views
8

मैं अपने एंड्रॉइड डिवाइस से एसएमएस भेजना चाहता हूं और इसे mydevice (प्रेषित संदेशों) से हटा देना चाहता हूं।4.4.4 पर एंड्रॉइड से एसएमएस हटाएं (हटाए गए पंक्तियों = 0 (शून्य), हटाए जाने के बाद)

डिवाइस में एसएमएस सहेजे गए हैं (4.4.4) लेकिन मेरे कोड के साथ एसएमएस हटाया नहीं गया है। प्रभावित पंक्तियों को हटाने के बाद = 0 (शून्य)।

मेरा डिवाइस vesrion 4.4.4 है।

अन्य उपकरणों में, एसएमएस सहेजे नहीं जा रहे हैं। एंड्रॉइड 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); 

भेजने के लिए मैं 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); 

हटाएँ एसएमएस

की postdelay साथ विधि deleteSMS() हैंडलर से बोल रहा हूँ है
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()); 
     } 
    } 
+0

आपने अपनी समस्या का समाधान कैसे किया? – Erum

+0

@ErumHannan No. नीचे दिए गए उत्तर के अनुसार, यह संभव नहीं है –

+0

मैंने सफलतापूर्वक अपने सभी इनबॉक्स संदेशों को हटा दिया है, क्या आप ऐसा करना चाहते हैं? – Erum

उत्तर

9

जब तक आपकी ऐप्लिकेशन को उपकरण में डिफ़ॉल्ट SMS ऐप के रूप में चिह्नित है, तो आप अभ्यस्त, एसएमएस प्रदाता के साथ खेलने में सक्षम हो तो कृपया के लिए एक ही के लिए एसएमएस दिशानिर्देश पढ़ KITKAT

+0

उत्तर के लिए धन्यवाद, क्या आप कृपया बता सकते हैं कि मेरे ऐप को डिफ़ॉल्ट एसएमएस ऐप के रूप में कैसे चिह्नित किया जाए? –

+0

@ गंगाधरनंबंबली यह लिंक आपको बताता है कि आपको अपने ऐप के लिए डिफ़ॉल्ट होने के लिए क्या करना है। यह एक मामूली काम नहीं है, क्योंकि आपका ऐप तब कई चीजों के लिए ज़िम्मेदार होगा, जो शायद पहले से ही संभाल नहीं लेता है। –

+0

@ माइक एम, क्या डिफ़ॉल्ट एसएमएस ऐप बनने के लिए कोई नमूना ऐप है। कृपया इसे साझा करें मैं एंड्रॉइड –

-1

अनुप्रयोग दी डिफ़ॉल्ट SMS ऐप के बिना Kitkat पर एसएमएस नष्ट कर सकते हैं ।

आपको केवल WRITE_SMS अनुमति और ऐपऑप्स मैनिपुलेशन की आवश्यकता है।

इसके बाद आपके एसएमएस को प्राप्त करने के 10 सेकंड बाद हटाया जा सकता है, अधिसूचना भी निराश होगी।

संबंधित मुद्दे