zum Löschen/Entfernen von Anruflisten aus der Anwendung. Ich mache soWie Anruflisten von Android programmgesteuert zu entfernen?
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI,null,null);
es funktioniert nicht.
zum Löschen/Entfernen von Anruflisten aus der Anwendung. Ich mache soWie Anruflisten von Android programmgesteuert zu entfernen?
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI,null,null);
es funktioniert nicht.
stellen Sie sicher, u haben folgende Berechtigung in manifast.xml:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
für das Löschen Calllogs für diese Weise bestimmte Anzahl versuchen:
public void DeleteCallLogByNumber(String number) {
String queryString = "NUMBER=" + number;
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI, queryString, null);
}
meinst du nicht <
Dies funktioniert nicht für mich. –
Die bestehende Lösung nicht Zahlen löschen und mit 0 oder + Präfix. Damit dies für alle Telefonnummern funktioniert, muss man die Zahl in einfache Anführungszeichen setzen: String queryString = "NUMBER = '" + deleteNumber + "'"; Hoffe, das hilft.
Wenn Sie eine Frage haben, dann schreiben Sie bitte eine neue Frage. –
Diese Lösung funktionierte wie Magie :) –
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
You need to give only this permission to work along with this method
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI, null, null);
Its working perfectly for me. I've tested it on my Moto-G running
Kitkat 4.4.2 and Samsung Note with Jelly Bean 4.1.
Dies funktioniert auch auf Marshmallow. Ich habe diesen Kommentar gerade hinzugefügt, wenn jemand auf diese Antwort stolpert. –
Akzeptierte Antwort löscht alle Anrufe aus dem Anrufprotokoll für eine bestimmte Nummer. Wenn Sie einen einzigen einzelnen Aufruf löschen möchten, können Sie CallLogId an diese Funktion übergeben und diese Abfrage ausführen. Hier
public void DeleteCallById(String idd) {
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI,CallLog.Calls._ID + " = ? ",
new String[] { String.valueOf(idd) });
}
ja, es ist eine gute Lösung – Achin
Danke. Ihre Antwort war sehr hilfreich, einfach und bietet Einblick in das Thema – JamisonMan111
ist eine verbesserte Art und Weise, zum Beispiel, wenn die gespeicherte Nummer in der Datenbank ist wie: "914111222" diese Methode mit Zahlen umgehen kann wie: "+ 98 914 111 2222":
public void removeContactsLogFromPhoneLogs(String numberTag){
char[] number=numberTag.toCharArray();
String n="%";
for(int i=0;i<number.length;i++)
{
n=n+(number[i]+"%");
}
String queryString=CallLog.Calls.NUMBER+" LIKE '"+n+"'";
mContext.getContentResolver().delete(CallLog.Calls.CONTENT_URI,queryString,null);
}
es bedarf der Genehmigung als:
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
Super hilfreich danke – JamisonMan111
sicher machen u 'haben Erlaubnis im Menschen ifest –
Welchen Fehler bekommst du? Bitte posten Sie Ihren Logcat. –
@imrankhan funktioniert es, aber ich möchte bestimmte Nummer aus Anruflisten löschen. – sai