آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

حذف sms

mahdiFar77  9 سال پیش  3 سال پیش
+7 -1

با سلام

میخاستم ببینم میشه پیامک هایی که با شماره های خاصی دریافت میشن رو حذف کرد؟stackOverFlow رو کلی گشتم چیزه خاصی نفهمیدم ممنون میشم راهنمایی کنید

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Vahid  9 سال پیش
+3 0

"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"

منبع

چیزی که مشخصه این هست که از یک ورژن از اندروید (مثلا کیت کت) به بعد، برنامه ها نمیتونند از SMS Provider استفاده کنند. مگر اینکه به عنوان برنامه پیشفرض اس ام اس گوشی معرفی بشن.

پاسخ به سوال 
میلاد  9 سال پیش
+9 0

 public class Sms extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
Object[] pdus = (Object[]) intent.getExtras().get("pdus");
SmsMessage sms = SmsMessage.createFromPdu((byte[]) pdus[0]);
String sender = sms.getOriginatingAddress();
String bodi = sms.getMessageBody();

//Log.i("Log", "" + sender);

String h="شماره ای که میخای پیامش پاک بشه" ;
if (sender.trim().equals(h)) {
cursor.close();
this.abortBroadcast();//از ورود پیام به گوشی جلو گیری میکنه
// deleteSms(sender); // پیام از پیامهات پاک میکنه
}

}

}


public static void deleteSms(String sender) {
Cursor cursor = G.context.getContentResolver().query(
Uri.parse("content://sms/"), new String[]{
"_id", "thread_id", "address", "person", "date", "body" }, null, null, null);

try {
while (cursor.moveToNext())
{
int id = cursor.getInt(0);
String address = cursor.getString(2);
Log.i("Log", "a" + id);
if (address.equals(sender))
{
G.context.getContentResolver().delete(
Uri.parse("content://sms/" + id), null, null);
}

}
}
catch (Exception e) {

}
}
}

حالا خودت انتخاب کن از کدوم استفاده کنی

 پرمیشن

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

رسیور

  <receiver android:name="Sms" >
<intent-filter android:priority="100">
<action android:name="android.provider.Telephony.SMS_RECEIVED" >
</action>
</intent-filter>
</receiver>
+1 0
واقعا ممنون خیلی کمک عالی بود .تشکر (9 سال پیش)
0 0
آقا شما از کجا یاد گرفتین؟ (9 سال پیش)
0 0
آقا خواهشا کد رو یه توضیح بدین؟ (9 سال پیش)
+1 0
آقا دمتون گرم کاملا درست بود (8 سال پیش)
0 0
من اینو استفاده کردم ولی هیچ فرقی نکرد! برای اندروید 4 - هم پیامک برام میاد و هم حذف نمی شه. (7 سال پیش)
0 0
آقا عالی بود! روش اول واسه اندروید ۴.۴ به بعد واقعا کاربردیه چون نمیشه واسه همه اپ ها کاربری رو به پیام رسان انجام داد (3 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .