Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для мобильных телефонов > Android

Android Разработка игр на платформе Android

Ответ
 
Опции темы
Старый 16.10.2014, 09:58   #1
S_007
Нуждающийся
 
Аватар для S_007
 
Регистрация: 30.01.2011
Сообщений: 76
Написано одно полезное сообщение
(для 7 участников)
Телефония

Как можно перехватить момент поднятия трубки исходящего вызова?
CALL_STATE_OFFHOOK срабатывает сразу когда номер только начал набираться. Есть какие-то решения этой проблемы, подскажите кто знает
(Offline)
 
Ответить с цитированием
Старый 16.10.2014, 15:19   #2
S_007
Нуждающийся
 
Аватар для S_007
 
Регистрация: 30.01.2011
Сообщений: 76
Написано одно полезное сообщение
(для 7 участников)
Ответ: Телефония

нагуглил что можно только если читать логи
logcat -v time -b radio GSM:D *:S

а как писать это в программе не знаю, никогда с логами не работал
(Offline)
 
Ответить с цитированием
Старый 17.10.2014, 12:04   #3
S_007
Нуждающийся
 
Аватар для S_007
 
Регистрация: 30.01.2011
Сообщений: 76
Написано одно полезное сообщение
(для 7 участников)
Ответ: Телефония

На этом форуме есть живые Developer-ы? Кто-нибудь может ответить?
(Offline)
 
Ответить с цитированием
Старый 17.10.2014, 14:38   #4
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 4,537
Написано 1,991 полезных сообщений
(для 4,750 пользователей)
Ответ: Телефония

Сообщение от S_007 Посмотреть сообщение
На этом форуме есть живые Developer-ы? Кто-нибудь может ответить?
Есть, просто те кто действительно хорошо разбираются скорее всего заняты, так что жди.
За неполные сутки никто не ответит.
(Offline)
 
Ответить с цитированием
Старый 18.10.2014, 14:13   #5
S_007
Нуждающийся
 
Аватар для S_007
 
Регистрация: 30.01.2011
Сообщений: 76
Написано одно полезное сообщение
(для 7 участников)
Ответ: Телефония

Спасибо Anton! Буду ждать... Но походу хочу задать еще один вопрос:

есть строка: String st = "0123456789"; в которой будут только цифры от нуля до девяти
есть массив: int[] data = new int[11];

for(n = 0; n < 11; n++)
{
data[n] = .........
}

как сделать так чтоб при помощи цикла for в массив data преобразовывались в int и записывались именно цифры от нуля до девяти
короче чтоб результат был таким - data[0] = 0; data[1] = 1; data[2] = 2; и т.д.

за ранее очень благодарен за ответы
(Offline)
 
Ответить с цитированием
Старый 18.10.2014, 14:49   #6
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,217
Написано 436 полезных сообщений
(для 784 пользователей)
Ответ: Телефония

я бы преобразовал строку в char[] и сделал data[n] = chars[n]-'0';
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
S_007 (18.10.2014)
Старый 18.10.2014, 17:01   #7
S_007
Нуждающийся
 
Аватар для S_007
 
Регистрация: 30.01.2011
Сообщений: 76
Написано одно полезное сообщение
(для 7 участников)
Ответ: Телефония

Igor, можешь показать на примере?
(Offline)
 
Ответить с цитированием
Старый 18.10.2014, 17:08   #8
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,374
Написано 489 полезных сообщений
(для 882 пользователей)
Ответ: Телефония

int len = st.length();
int[] data = new int[len];
for(int n = 0; n < len; n++)
{
data[n] = Integer.valueOf( st.charAt(n) );
}
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
S_007 (18.10.2014)
Старый 18.10.2014, 17:41   #9
S_007
Нуждающийся
 
Аватар для S_007
 
Регистрация: 30.01.2011
Сообщений: 76
Написано одно полезное сообщение
(для 7 участников)
Ответ: Телефония

Жэка спасибо!!! Счас буду пробовать...
(Offline)
 
Ответить с цитированием
Старый 18.10.2014, 17:45   #10
S_007
Нуждающийся
 
Аватар для S_007
 
Регистрация: 30.01.2011
Сообщений: 76
Написано одно полезное сообщение
(для 7 участников)
Ответ: Телефония

Жека, безразмерное спасибо тебе за такой грамотный пример!!!
то что надо...
только единственное в этой строке добавил -48
data[n] = Integer.valueOf( st.charAt(n) -48 );
иначе в массиве получается data[0] = 48, data[1] = 49, и т.д.
Огромное Спасибо!!!
(Offline)
 
Ответить с цитированием
Старый 19.10.2014, 06:35   #11
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,374
Написано 489 полезных сообщений
(для 882 пользователей)
Ответ: Телефония

Ага, гуд.
(Offline)
 
Ответить с цитированием
Старый 19.10.2014, 17:52   #12
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Телефония

А лучше Integer.parseInt(), не просто же ее придумали:
int len st.length();
int[] data = new int[len];
for(
int n 0lenn++)
{
data[n] = Integer.parseIntst.charAt(n) );

Как-то так можно
try {
    
// Executes the command.
    
Process process Runtime.getRuntime().exec("/system/bin/logcat -v time -b radio GSM:D *:S");
    
    
// Reads stdout.
    // NOTE: You can write to stdin of the command 
    //       process.getOutputStream().
    
BufferedReader reader = new BufferedReader(
            new 
InputStreamReader(process.getInputStream()));
    
int read;
    
char[] buffer = new char[4096];
    
StringBuffer output = new StringBuffer();
    while ((
read reader.read(buffer)) > 0) {
        
output.append(buffer0read);
    }
    
reader.close();
    
    
// Waits for the command to finish.
    
process.waitFor();
    
    return 
output.toString();
} catch (
IOException e) {
    throw new 
RuntimeException(e);
} catch (
InterruptedException e) {
    throw new 
RuntimeException(e);

__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
S_007 (19.10.2014)
Старый 19.10.2014, 18:15   #13
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,073
Написано 247 полезных сообщений
(для 514 пользователей)
Ответ: Телефония

Чувак, кури TelephonyManager.CALL_STATE_RINGING
Вот на всякий, код с моего Flat Player-а
private void initPhoneListener() {
         
PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
            @
Override
            
public void onCallStateChanged(int stateString incomingNumber) {
                if (
state==TelephonyManager.CALL_STATE_RINGING || state==TelephonyManager.CALL_STATE_OFFHOOK)
                        
mPlayer.pause();
                
super.onCallStateChanged(stateincomingNumber);
            }
        };
        
TelephonyManager telephonyMgr = (TelephonyManagergetSystemService(Context.TELEPHONY_SERVICE);
        if (
telephonyMgr != null)
            
telephonyMgr.listen(mPhoneStateListenerPhoneStateListener.LISTEN_CALL_STATE);

(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо pozitiffcat за это полезное сообщение:
RegIon (19.10.2014), St_AnGer (20.10.2014), S_007 (19.10.2014)
Старый 19.10.2014, 18:16   #14
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,073
Написано 247 полезных сообщений
(для 514 пользователей)
Ответ: Телефония

Насчет парсинга лока - эх и костыль ты придумал. Ниче, что на разных девайсах логи как минимум разные? А могут и вообще быть отключены )))
(Offline)
 
Ответить с цитированием
Старый 19.10.2014, 20:47   #15
S_007
Нуждающийся
 
Аватар для S_007
 
Регистрация: 30.01.2011
Сообщений: 76
Написано одно полезное сообщение
(для 7 участников)
Ответ: Телефония

не думал что на этот форум ещё заглядывают крутые программисты...! Спасибо вам ребята, за ваши ответы и наглядные примеры. Reglon, твой пример, ну ты просто маладца! Нагуглить такого примера мне не удалось по всей паутине, спасибо тебе, теперь буду знать как с логами работать. Только уже немного остыл по поводу этого, потому что где-то прочитал, да и pozitiffcat это подтверждает, что при помощи логов не а каждом аппарате будет работать. TelephonyManager раскурил вдоль и поперек, но CALL_STATE_RINGING срабатывает при входящем звонке. А задумка была до боли банальная - именно при исходящем вызове чтоб начинал работать счетчик секунд после поднятия трубки на другом конце провода, ведь это в каждом аппарате есть, (т.е. длительность разговора) только чуваки из googla такую функцию к сожалению не сделали. Если в чём-то не прав то поправьте, буду очень рад.

Ну наберусь наглости задать ещё один вопрос
как из программы удалять входящие смс, хоть по одной хоть все
нашёл вот такой код, на нём приложение вылетает, как правильно подскажите пожалуйста

Uri uriSms = Uri.parse("content://sms/inbox");
Cursor c = getContentResolver().query(uriSms, null,null,null,null);
int thread_id = c.getInt(1); //get the thread_id
getContentResolver().delete(Uri.parse("content://sms/conversations/" + thread_id),null,null);
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 09:30.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com