通过设备的通话记录打开应用程序

时间:2018-06-27 06:45:23

标签: android contacts intercept calllog

我正在从应用程序添加呼叫日志,并想从这些日志中打开应用程序。

有关更多信息,我使用以下方法保存通话记录:

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);

请注意,在我的应用程序中,用户名用作唯一标识,并且不包含手机号码。

当我从通话记录中重拨电话时,它将以随机号码发出新通话。

有什么方法可以拦截历史记录中发出的呼叫? 我知道要拦截应用程序中的所有通话,但这会给我通话信息。如果我单击应用程序的通话记录,我想打开我的应用程序,否则让系统执行默认操作。

有人可以指导我使用此功能吗?

0 个答案:

没有答案