Метод очистки списка истории вызовов
ну и конечно же, как выяснилось опытным путем, необходимо добавить пермишены)
private void deleteNumber(String number) {
String strUriCalls = "content://call_log/calls";
Uri UriCalls = Uri.parse(strUriCalls);
Cursor c = MainActivity.this.getContentResolver().query(UriCalls, null,
null, null, null);
if (c.getCount() <= 0) {
Toast.makeText(getApplicationContext(), "Call log empty",
Toast.LENGTH_SHORT).show();
}
while (c.moveToNext()) {
String queryString = "NUMBER='" + number + "'";
Log.v("Timing", queryString);
int i = MainActivity.this.getContentResolver().delete(UriCalls,
queryString, null);
if (i >= 1) {
Toast.makeText(getApplicationContext(), "Number deleted",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(),
"No such number in call logs", Toast.LENGTH_SHORT)
.show();
}
}
}
еще лучше вызвать удаление звонка после секундной паузыRunnable mRunnable;
Handler mHandler = new Handler();
mRunnable = new Runnable() {
@Override
public void run() {
deleteNumber(number);
}
};
mHandler.postDelayed(mRunnable, 1000);
ну и конечно же, как выяснилось опытным путем, необходимо добавить пермишены)
<uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_CALL_LOG" /> <uses-permission android:name="android.permission.WRITE_CALL_LOG" /> <uses-permission android:name="android.permission.CALL_PHONE" />
Комментариев нет:
Отправить комментарий