kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Florian
Florian
Question

Menghapus SMS Android secara terprogram

Saya ingin menghapus beberapa SMS tertentu secara otomatis di aplikasi Android saya. Oleh karena itu, saya memiliki metode yang melakukan apa yang saya inginkan. Namun, metode ini hanya berfungsi jika saya menggunakan aplikasi langsung ke ponsel saya dari Eclipse. Kemudian menghapus SMS yang masuk. Namun, itu tidak berfungsi jika aplikasi diunduh dari pasar. Tetapi juga tidak ada kesalahan. Adakah yang tahu bagaimana saya bisa mengatasi hal ini atau apakah ini hanya bekerja pada perangkat yang di-root?

public void deleteSMS(Context context, String message, String number) {
    try {
        mLogger.logInfo("Deleting SMS from inbox");
        Uri uriSms = Uri.parse("content://sms/inbox");
        Cursor c = context.getContentResolver().query(uriSms,
            new String[] { "_id", "thread_id", "address",
                "person", "date", "body" }, null, null, null);

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

                if (message.equals(body) && address.equals(number)) {
                    mLogger.logInfo("Deleting SMS with id: " + threadId);
                    context.getContentResolver().delete(
                        Uri.parse("content://sms/" + id), null, null);
                }
            } while (c.moveToNext());
        }
    } catch (Exception e) {
        mLogger.logError("Could not delete SMS from inbox: " + e.getMessage());
    }
}
31 2011-12-23T09:21:22+00:00 3
 Cœur
Cœur
Pertanyaan edit 4 April 2017 в 2:53
Pemrograman
sms
android
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Solution / Answer
 Florian
Florian
13 Januari 2012 в 1:55
2012-01-13T13:55:37+00:00
Lebih
Sumber
Sunting
#15039918

Sebenarnya, kode dalam posting saya 100% benar. Masalahnya adalah Android membutuhkan waktu untuk menyimpan SMS setelah menerimanya. Jadi solusinya adalah dengan menambahkan penangan dan menunda permintaan hapus selama 1 atau 2 detik.

Hal ini sebenarnya menyelesaikan seluruh masalah.

EDIT (terima kasih kepada Maksim Dmitriev):

Harap diperhatikan bahwa Anda tidak dapat menghapus pesan SMS pada perangkat dengan Android 4.4.

Selain itu, sistem sekarang hanya mengizinkan aplikasi default untuk menulis data pesan ke penyedia, meskipun aplikasi lain dapat membaca kapan saja.

http://developer.android.com/about/versions/kitkat.html

Tidak ada pengecualian yang akan dibuang jika Anda mencobanya; tidak ada yang akan dihapus. Saya baru saja mengujinya pada dua emulator.

Cara mengirim pesan SMS secara terprogram

 wojteo
wojteo
Jawaban edit 29 Mei 2016 в 2:58
29
0
Ashekur  Rahman Molla Asik
Ashekur Rahman Molla Asik
31 Maret 2013 в 6:56
2013-03-31T18:56:36+00:00
Lebih
Sumber
Sunting
#15039919

hei gunakan kode ini untuk menghapus sms khusus

  1. Berdasarkan tanggal

  2. Berdasarkan nomor

  3. Dengan tubuh

    mencoba { Uri uriSms = Uri.parse("content://sms/inbox"); Cursor c = context.getContentResolver().query( uriSms, new String[] { "_id", "thread_id", "alamat", "orang", "tanggal", "badan" }, "read=0", null, null);

         if (c != null && c.moveToFirst()) {
             do {
                 long id = c.getLong(0);
                 long threadId = c.getLong(1);
                 String alamat = c.getString(2);
                 String badan = c.getString(5);;
                 String tanggal = c.getString(3);
                 Log.e("log>>>",
                         "0--->" + c.getString(0) + "1---->" + c.getString(1)
                                 + "2---->" + c.getString(2) + "3--->"
                                 + c.getString(3) + "4----->" + c.getString(4)
                                 + "5---->" + c.getString(5));
                 Log.e("log>>>", "date" + c.getString(0));
    
                 Nilai-nilai konten = new Nilai-nilaiKonten();
                 values.put("read", true);
                 getContentResolver().update(Uri.parse("content://sms/"),
                         values, "_id=" + id, null);
    
                 if (pesan.equals(body) && alamat.equals(number)) {
                     // mLogger.logInfo("Menghapus SMS dengan id: " + threadId);
                     context.getContentResolver().delete(
                             Uri.parse("content://sms/" + id), "date=?",
                             new String[] { c.getString(4) });
                     Log.e("log>>>", "Keberhasilan penghapusan.........");
                 }
             } while (c.moveToNext());
         }
     } catch (Exception e) {
         Log.e("log>>>", e.toString());
     }
9
0
 NikhilReddy
NikhilReddy
23 Desember 2011 в 9:29
2011-12-23T09:29:43+00:00
Lebih
Sumber
Sunting
#15039917
private int deleteMessage(Context context, SmsMessage msg) {
    Uri deleteUri = Uri.parse("content://sms");
    int count = 0;
            @SuppressLint("Recycle") Cursor c = context.getContentResolver().query(deleteUri, null, null, null, null);

    while (c.moveToNext()) {
        try {
            // Delete the SMS
            String pid = c.getString(0); // Get id;
            String uri = "content://sms/" + pid;
            count = context.getContentResolver().delete(Uri.parse(uri),
                    null, null);
        } catch (Exception e) {
        }
    }
    return count;
}

gunakan kode ini.............

atau

getContentResolver().delete(Uri.parse("content://sms/conversations/" + threadIdIn), null, null);
 mehdi
mehdi
Jawaban edit 6 Januari 2019 в 12:52
1
0
Related communities 1
Android Studio Indonesia
Android Studio Indonesia
2 554 pengguna
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Daniel Gogov
Terdaftar 6 hari yang lalu
2
工藤 芳則
Terdaftar 1 minggu yang lalu
3
Ирина Беляева
Terdaftar 2 minggu yang lalu
4
Darya Arsenyeva
Terdaftar 2 minggu yang lalu
5
anyta nuam-nuam (LapuSiK)
Terdaftar 2 minggu yang lalu
ID
JA
© kzen.dev 2023
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi