voici une fonction que j'ai trouvé sur un site qui supprime un SMS,en sachant son "_id", à partir du téléphone :
j'ai utilisé cette fonction pour supprimer un sms :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public boolean deleteSms(long smsId) { try { getContext().getContentResolver().delete(Uri.parse("content://sms/" + smsId), null, null); return true; } catch (Exception ex) { return false; } }
quand je clique sur le bouton, j'ai bien un message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 deleteBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //obtenir l'id du SMS à supprimer : long smsId = smsList.get(position).getId(); //appel de la fonction : if (deleteSms(smsId)) Toast.makeText(getContext(),"SMS id = "+smsId+" supprimé",Toast.LENGTH_LONG).show(); else Toast.makeText(getContext(),"SMS id = "+smsId+" non supprimé",Toast.LENGTH_LONG).show(); //Enlever le sms de la liste smsList.remove(position); notifyDataSetChanged(); } });
mais, réellement, le SMS n'est pas supprimé.SMS id = x supprimé
J'ai mis dans le manifest :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.SEND_SMS" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.WRITE_SMS" />
Partager