मैं अपने एंड्रॉइड डिवाइस से एसएमएस भेजना चाहता हूं और इसे 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());
}
}
आपने अपनी समस्या का समाधान कैसे किया? – Erum
@ErumHannan No. नीचे दिए गए उत्तर के अनुसार, यह संभव नहीं है –
मैंने सफलतापूर्वक अपने सभी इनबॉक्स संदेशों को हटा दिया है, क्या आप ऐसा करना चाहते हैं? – Erum