我正在从应用程序添加呼叫日志,并想从这些日志中打开应用程序。
有关更多信息,我使用以下方法保存通话记录:
String text = "Test Call";
ContentResolver contentResolver = context.getContentResolver();
ContentValues values = new ContentValues();
values.put(CallLog.Calls.NUMBER, text);
values.put(CallLog.Calls.DATE, System.currentTimeMillis());
values.put(CallLog.Calls.DURATION, 50);//The duration of the call in seconds
values.put(CallLog.Calls.TYPE, CallLog.Calls.OUTGOING_TYPE);
values.put(CallLog.Calls.NEW, 1);
values.put(CallLog.Calls.CACHED_NAME, "test");//The cached name associated with the phone number, if it exists.
values.put(CallLog.Calls.CACHED_NUMBER_TYPE, 0);
values.put(CallLog.Calls.CACHED_NUMBER_LABEL, "my_app_name");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
values.put(CallLog.Calls.VIA_NUMBER, "my_app_name");
}
contentResolver.insert(CallLog.Calls.CONTENT_URI, values);
请注意,在我的应用程序中,用户名用作唯一标识,并且不包含手机号码。
当我从通话记录中重拨电话时,它将以随机号码发出新通话。
有什么方法可以拦截历史记录中发出的呼叫? 我知道要拦截应用程序中的所有通话,但这会给我通话信息。如果我单击应用程序的通话记录,我想打开我的应用程序,否则让系统执行默认操作。
有人可以指导我使用此功能吗?