Androidアプリケーションで特定のSMSを自動的に削除したいと考えています。それゆえ、私はそれがしたいことを正確に行う方法を持っています。ただし、Eclipseから直接自分の電話機にアプリケーションをデプロイする場合にのみ機能します。その後、着信SMSを削除します。しかし、アプリケーションが市場からダウンロードされた場合は動作しません。しかし、エラーもありません。誰かが私がこれを解決する方法を知っていますか、これはrootedデバイスでのみ動作しますか?Android SMSをプログラムで削除する
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());
}
}
[Androidの受信ボックスからSMSをプログラムで削除するにはどうすればいいですか?](http://stackoverflow.com/questions/419184/how-to-delete-an-sms-from-the-inbox-in -android-programmatically) –
@Marclin両方の質問が異なります。この質問では、EclipseがMarkrtの場所からではなくEclipseから直接展開されている場合、SMSは削除されます。 –
@SunilKumarSahoo:あなたは正しいです。コードは完璧に動作しますが、デバイスがPCに接続されている場合にのみ、マーケットからダウンロードされているのではなく、なぜそれを理解しようとしていますか? – Florian