Тема: Телефония
Показать сообщение отдельно
Старый 20.10.2014, 08:42   #16
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Телефония

Сообщение от S_007 Посмотреть сообщение
не думал что на этот форум ещё заглядывают крутые программисты...! Спасибо вам ребята, за ваши ответы и наглядные примеры. 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);
Не факт, что запрос возвращает в поле с индексом "1" именно ту информацию, которая тебе нужна. Нужно явно указать поля.
При получении ответа ты забыл moveToFirst
Вот пример:
Uri uriSms Uri.parse("content://sms/inbox");
Cursor c context.getContentResolver().query(uriSms,
                     new 
String[] { "_id""thread_id"}, nullnullnull);
if (
!= null && c.moveToFirst() {
    do {
        
long id c.getLong(0);
        
long threadId c.getLong(1);
        
context.getContentResolver().delete(
                        
Uri.parse("content://sms/" id), nullnull);
    } while (
c.moveToNext());

Это удалит все СМС. Я тут показал способ перебора. Там ты можешь сравнивать поля, например по номеру телефона. Достаточно в выбираемые поля добавить "address" и в цикле перебора выполнить проверку if (addres.equals("+79379379377") { ..... ну дальше ты понял
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
S_007 (20.10.2014)