Единственный «легальный», но крайне уродливый и, как правило, бесполезный способ добиться того, чего вы хотите, - это показать Журнал вызовов пользователю.И я имею в виду буквально шоу (становится визуальным, получает фокус).Если вы хотите сделать это, вот как:
public static boolean showCallLog(Context context)
{
try
{
Intent showCallLog = new Intent();
showCallLog.setAction(Intent.ACTION_VIEW);
showCallLog.setType(android.provider.CallLog.Calls.CONTENT_TYPE);
context.startActivity(showCallLog);
return true;
}
catch (Exception e)
{
Log.d("Couldn't show call log.", e.getMessage());
}
return false;
}
Причина этого беспорядка заключается в том, что приложения, отвечающие за ведение журнала вызовов, используют кэшированные значения.Вам нужно как-то уведомить те приложения, что журнал вызовов изменился (увиденное означает, что также изменилось) и что он должен обновить его.Было бы неплохо, если бы все такие приложения на всех устройствах получали трансляцию для обновления, но, насколько я знаю, это не так.