واقعا ممنون خیلی کمک عالی بود .تشکر
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
حذف sms
مدیریت گفتگو
آخرین تغییر: 5 سال پیش
با سلام
میخاستم ببینم میشه پیامک هایی که با شماره های خاصی دریافت میشن رو حذف کرد؟stackOverFlow رو کلی گشتم چیزه خاصی نفهمیدم ممنون میشم راهنمایی کنید
پاسخها 2
"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 استفاده کنند. مگر اینکه به عنوان برنامه پیشفرض اس ام اس گوشی معرفی بشن.
نظرات
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>
نظرات
آقا شما از کجا یاد گرفتین؟
آقا خواهشا کد رو یه توضیح بدین؟
آقا دمتون گرم کاملا درست بود
من اینو استفاده کردم ولی هیچ فرقی نکرد! برای اندروید 4 - هم پیامک برام میاد و هم حذف نمی شه.
آقا عالی بود! روش اول واسه اندروید ۴.۴ به بعد واقعا کاربردیه چون نمیشه واسه همه اپ ها کاربری رو به پیام رسان انجام داد
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات