Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
217 / 217 / 21
Регистрация: 19.01.2013
Сообщений: 1,587
Записей в блоге: 2
#1

Звонилка на Android - Android

07.05.2015, 17:06. Просмотров 847. Ответов 3
Метки нет (Все метки)

Нужно сделать программу которая будет звонить на тел. номер и при взятии трубки сигнализировать, а если трубку не берут перезванивать до тех пор пока не возьмут трубки.. Возможно это реализовать - думаю да) Но куда и как копать ?)

Добавлено через 1 час 54 минуты
Нашел TelephonyManager - Call state только вот там есть вроде нету статуса взял трубку (ответил на вызов) ... Не кто с таким не сталкивался, не делал?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2015, 17:06     Звонилка на Android
Посмотрите здесь:

Android Qt для Android
Android Excel - Android
Рисование в Android Android
Android Литература по Android
Android Звонилка, как заменить стандартное окно дозвона на собственное?
Android Android Facebook
Android Камера Android
Программирование НА Android Android
Android Application Android
Android Qt под Android
Android Eclipse и android
Spring for android Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
08.05.2015, 01:22     Звонилка на Android #2
Я тоже свою звонилку пишу. У меня тоже ошибка при "ожидании звонка" на исходящих (входящие нормально ловит). Могу лишь поймать на до и после выбора сим-карты. Но... могу поймать если звонок оборвался! Тоесть я Вам звоню, а вы не берете пока оператор не оборвет! Увы, похоже прйдется ловить лишь звонки больше 25-30 секунд и считать их "зачтеными". Либо руки кривые (мало на это потратил времени), либо это не возможно штатными средствами (нашел десятки примеров - там это тоже не работало), либо это не работает лишь на двусимочных. Могу лишь предложить погуглить исходники двухсимочных - там на порядок больше возможностей - даже где-то видел управление конференцией.
ILNAR_93
Android
217 / 217 / 21
Регистрация: 19.01.2013
Сообщений: 1,587
Записей в блоге: 2
08.05.2015, 15:43  [ТС]     Звонилка на Android #3
Tester64, А как ты организовал ожидание звонка - входящие вызовы. У тебя сервис работает или как?
Где то я видел что можно статус "Ответ" вычислить с помощью счетчика который считает сколько минут длиться разговор.. Нужно копать)

Добавлено через 17 минут
Если статус:
CALL_STATE_IDLE потом CALL_STATE_OFFHOOK - это походу значит что звонок отменен или отклонен....

Добавлено через 58 минут
Tester64,

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 Thread thread = new Thread() {
                               @Override
                               public void run() {
                                   try {
                                       while(true) {
                                           sleep(1000);
                                          // retriveCallSummary();
 
                                           Uri allCalls = Uri.parse("content://call_log/calls");
                                           String lastMinute = String.valueOf(new java.util.Date().getTime() -  TimeUnit.DAYS.toMillis(1));
//before the call started
                                           Cursor c = ctx.getContentResolver().query(allCalls, null,  CallLog.Calls.DATE + " > "
                                                   + lastMinute, null, CallLog.Calls.DATE + " desc");
                                           c.moveToFirst();
 
                                           if (c.getCount() > 0) {
                                               int duration = Integer.parseInt(c.getString(c.getColumnIndex(CallLog.Calls.DURATION)));
                                               Log.i("Toast","Продолжительность вызова"+ duration);
                                           }
                                       }
                                   } catch (InterruptedException e) {
                                       e.printStackTrace();
                                   }
                               }
                           };
 
                           thread.start();


Этот код возвращает длительность последнего звонка, как я понял duration
Читает логи и т.д... Я уж сейчас начал думать о том что нужно с экрана "вызова" "парсить" данные Если это возможно

Добавлено через 5 часов 53 минуты
Java
1
2
3
4
 if (globState == TelephonyManager.CALL_STATE_OFFHOOK && state == TelephonyManager.CALL_STATE_IDLE){
 
            Log.i("Toast","Вызов Завершен или отклонен");
        }
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
08.05.2015, 21:07     Звонилка на Android #4
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
А как ты организовал ожидание звонка - входящие вызовы. У тебя сервис работает или как?
Вообще-то ВСЕМ этим занимается РЕСИВЕР! Это функция зарегистрированная в системе под определенную команду(на входящий, на исходящий, на смс...). Сработала команда - пришел вызов - система вызвала все зарегистрированные функции (от всех программ) слушающие реактор на звонок и послал туда параметры звонка - номер, состояние...

Либо руки кривые, либо нет возможности изначально, но коомбинации параметров мне не обьяснили как поймать "тот кому я звоню взял трубу".

Я вывожу свою плавающую панель на звонок (с информацией сколько говорим, ползунок до 30 минут, сколько ждали и кучей других "полезностей")...
Но сейчас отложил это - занялся глубоким изучением механизмов управления списком контактов (добавить/изменить/удалить контакт и его параметры) - поотрывать бы руки этим авторам API...

Добавлено через 7 минут
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
Я уж сейчас начал думать о том что нужно с экрана "вызова" "парсить" данные Если это возможно
Боюсь что это либо не возможно либо ОЧЕНЬ тяжело. Скриншот снять можно, пропарсить тяжело - под каждую прошивку может СИЛЬНО отличаться (у меня у самого на телефоне прошивку новее поставил не меняя верясию ОС, а уже надписи тоньше стали - раньше треть экрана занимали, а теперь больше места для фотки)
Yandex
Объявления
08.05.2015, 21:07     Звонилка на Android
Ответ Создать тему
Опции темы

Текущее время: 18:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru