Поиск в журнале вызовов android для определенного номера телефона - PullRequest
0 голосов
/ 16 июня 2020

Я пишу приложение, в котором мне нужно получить подробную информацию о журналах вызовов в моем приложении android. В настоящее время я использую описанный ниже метод для получения данных

Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI,
            null,
            CallLog.Calls.NUMBER + " = ?",
            new String[]{custMobNo},
            CallLog.Calls.DATE + " DESC limit 1;");

    int number = cursor.getColumnIndex(CallLog.Calls.NUMBER);
    int type = cursor.getColumnIndex(CallLog.Calls.TYPE);
    int date = cursor.getColumnIndex(CallLog.Calls.DATE);
    int duration = cursor.getColumnIndex(CallLog.Calls.DURATION);

    String phoneNo = null;
    String callType = null;
    String callDate = null;
    String callDuration = null;
    int dircode = -1;
    String dir = null;

    if(cursor.getCount() > 0) {
        while (cursor.moveToNext()) {
            phoneNo = cursor.getString(number);
            callType = cursor.getString(type);
            callDuration = cursor.getString(duration);
            callDate = cursor.getString(date);

            if(custMobNo.equals(phoneNo)) {
                dircode = Integer.parseInt(callType);
                switch (dircode){
                    case CallLog.Calls.OUTGOING_TYPE:
                        dir = "Outgoing";
                        break;
                    case CallLog.Calls.INCOMING_TYPE:
                        dir = "Incoming";
                        break;
                    case CallLog.Calls.MISSED_TYPE:
                        dir = "Missed";
                        break;
                }

                sb.append("\nPhone Number : " + phoneNo +"\nCall Date : " + callDate+
                        "\nCall Type : " + dir+"\nCall Duration : "+callDuration);
                sb.append("...................");
                sb.toString();
                break;
            }
        }

        cursor.close();
    }

Теперь проблема возникает в сценарии ios, где номер, сохраненный пользователем, может быть с кодом страны или без него. В таком случае ios как мне запросить? Мне нужны не полные журналы вызовов, а последние 2-3 журнала вызовов любого номера.

Я попытался использовать запрос "in" , выполнив поиск как по номеру телефона, так и по номеру телефона с кодом страны, но я, вероятно, использую неправильный синтаксис.

new String[]{"+91" + custMobNo, custMobNo}

Подскажите, пожалуйста, как действовать дальше?

...