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

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

Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
221 / 221 / 23
Регистрация: 19.01.2013
Сообщений: 1,686
Записей в блоге: 3
#1

Звонилка на Android - Программирование Android

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

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

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

Звонилка, как заменить стандартное окно дозвона на собственное? - Программирование Android
Написал звонилку типа: protected void onCreate(Bundle savedInstanceState) { Intent intent = getIntent(); String number =...

Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout? - Программирование Android
Недавно начал изучать Android API, а сегодня более менее разобрал основы синтакиса XML. Затем стал разбирать следующий пример: ...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb? - Программирование Android
android studio, как запускать программу сразу на android смартфоне подключенному к usb?

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast - Программирование Android
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка: Caused by: java.lang.ClassCastException:...

Android NDK. Как пользоваться? Когда стоит использовать его вместо Android SDK? - Программирование Android
Можно ли писать в нем готовые приложения Android?

Как приложение Android написать на С++ в Android NDK, чтоб получить *.apk? Нужен мануал - Программирование Android
Уже не в первый раз задаю вопрос. Молчание. В лучшем случае - "RTFM" и точка. Так вот, официального мануала, где есть ответ на...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
08.05.2015, 01:22 #2
Я тоже свою звонилку пишу. У меня тоже ошибка при "ожидании звонка" на исходящих (входящие нормально ловит). Могу лишь поймать на до и после выбора сим-карты. Но... могу поймать если звонок оборвался! Тоесть я Вам звоню, а вы не берете пока оператор не оборвет! Увы, похоже прйдется ловить лишь звонки больше 25-30 секунд и считать их "зачтеными". Либо руки кривые (мало на это потратил времени), либо это не возможно штатными средствами (нашел десятки примеров - там это тоже не работало), либо это не работает лишь на двусимочных. Могу лишь предложить погуглить исходники двухсимочных - там на порядок больше возможностей - даже где-то видел управление конференцией.
1
ILNAR_93
Android
221 / 221 / 23
Регистрация: 19.01.2013
Сообщений: 1,686
Записей в блоге: 3
08.05.2015, 15:43  [ТС] #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","Вызов Завершен или отклонен");
        }
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
08.05.2015, 21:07 #4
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
А как ты организовал ожидание звонка - входящие вызовы. У тебя сервис работает или как?
Вообще-то ВСЕМ этим занимается РЕСИВЕР! Это функция зарегистрированная в системе под определенную команду(на входящий, на исходящий, на смс...). Сработала команда - пришел вызов - система вызвала все зарегистрированные функции (от всех программ) слушающие реактор на звонок и послал туда параметры звонка - номер, состояние...

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

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

Добавлено через 7 минут
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
Я уж сейчас начал думать о том что нужно с экрана "вызова" "парсить" данные Если это возможно
Боюсь что это либо не возможно либо ОЧЕНЬ тяжело. Скриншот снять можно, пропарсить тяжело - под каждую прошивку может СИЛЬНО отличаться (у меня у самого на телефоне прошивку новее поставил не меняя верясию ОС, а уже надписи тоньше стали - раньше треть экрана занимали, а теперь больше места для фотки)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2015, 21:07
Привет! Вот еще темы с ответами:

Android.support.v4.app.FragmentActivity не работает в Android Studio - Программирование Android
объясните пожалуйста,как в андроид студио добавить вышеуказанную библиотеку,чтобы работало у меня вот это Активити package...

Выбор мощного android смартфона до 10 рублей, для тестирования проектов Android Studio, что посоветуете? - Программирование Android
Какую фирму посоветуете?

Запуск игры mr.Nom через Android Studio (по книге марио цехнер программирование игр под android) - Программирование Android
Привет всем! Для тех кто читал книгу - в конце 6ой главы мы закончили писать код игры. В книге написано что - игра готова. Но в самих...

OpenGL на Android 4.4 и Android 5.0 - нет текстур - Программирование Android
Всем доброго дня. Пишу 2D игру с использование OpneGL. На устройстве с версией Android 4.4.2 (HTC 626) все текстуры на месте, все...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.05.2015, 21:07
Ответ Создать тему
Опции темы

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