ユーザーがSMSを受信したら、受信トレイからSMSを削除します。これを行う方法?受信トレイからSMSを削除する
編集:
パブリッククラスSmsReceiverは、このコードが間違っている何BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String address = null;
if(bundle!=null) {
String info = " ";
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
address=msgs[i].getDisplayOriginatingAddress();
info += msgs[i].getMessageBody().toString();
}
/*String str=bundle.getString("state");
Log.v("State",str);*/
if((PhoneNumberUtils.isWellFormedSmsAddress(address))){ //set ! and address length
//abortBroadcast();
Log.v("phone num","wellformed");
Uri deleteUri = Uri.parse("content://sms");
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/conversations/" + pid;
context.getContentResolver().delete(Uri.parse(uri),
null, null);
} catch (Exception e) {
Log.v("exception","occurred");
}
}
}
}
}
}
を拡張しますか?あなたが受信トレイからのSMSを削除するため、以下の方法を使用することができます
このコードは、すべての受信トレイを削除しますメッセージ – Erum
はアンドロイドバージョン4.3で動作しません – NarendraJi
5.0で動作しますか?同じコードを使用すると、カーソルが空に戻ります。 – Akshat