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

Программирование мобильных систем

Войти
Регистрация
Восстановить пароль
 
Стас12
0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 3
#1

Принудительное завершение звонка - Программирование

07.05.2016, 11:46. Просмотров 447. Ответов 2
Метки нет (Все метки)

Здравствуйте.

Подскажите пожалуйста как завершить звонок не дожидаясь, когда на него ответят.
Звоню так:
Java
1
2
3
4
5
6
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:+1234567890"));
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
   return;
}
startActivity(intent);
Видимо нужно завершить Activity, выполняющую процесс звонка, но как это сделать не нашел.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2016, 11:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Принудительное завершение звонка (Программирование):

Принудительное переключение в режим наушников - Программирование Android
Здравствуйте. Есть стоковые наушники, которые шли в комплекте с трубкой. Работают они более-менее, но очень хреново определяются телефоном....

Программно включить запись телефонного звонка - Программирование Android
Есть ли способ программно включить стандартную записи разговора ? Иле есть какие то библиотеки которые могут записывать разговор? ...

Отключить гашение экрана во время звонка - Программирование Android
Гуру, ПОМОГИТЕ! Возможно ли это? Можно ли перехватить? Нужен ли рут для этого? Не зашито ли подобное в ядро "намертво"? Если...

Закрыть диалог во время выполнения процесса (принудительное срабатывание dismiss() - Программирование Android
Всем привет! В приложении есть диалоговое окно с кнопкой, по нажатию которой начинается выполнение процесса. Длительность процесса -...

Завершение потока - Программирование Android
Необходимо корректно завершить поток. Сейчас код такой class MyThread extends Thread { private void method() throws...

Завершение сервиса - Программирование Android
вот метод завершающий сервис в основной активности: public void onClickStop(View v) { stopService(new Intent(this,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,799
Завершенные тесты: 1
07.05.2016, 14:13 #2
погуглить не?
по словам "android cancel outgoing call"
0
Стас12
0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 3
08.05.2016, 09:43  [ТС] #3
То что я нашел не работает

в отдельном файле:
Java
1
2
3
4
5
6
7
8
9
public class CallReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(final Context context, final Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){
            setResultData(null);
            abortBroadcast();
        }
    }
}
в манифесте:
XML
1
2
3
4
5
6
7
8
9
10
11
<uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 
    <receiver android:name=".CallReceiver" >
        <intent-filter android:priority="1" >
            <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            <action android:name="android.intent.action.CALL" />
            <action android:name="android.intent.action.ACTION_PHONE_STATE_CHANGED" />
        </intent-filter>
    </receiver>
в MainActivity:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Intent intent = new Intent(Intent.ACTION_CALL);
        intent.setData(Uri.parse("tel:+1234567890"));
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
            return;
        }
        CallReceiver callRecv = new CallReceiver();
        startActivity(intent);
        //пауза
        try {
            Thread.sleep(20000);
        } catch (Exception e) {
//                System.out.println(e);
        }
        callRecv.onReceive(this, intent);


Отмены звонка не происходит, не выполняется условие if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)).
Если условие сделать таким if (intent.getAction().equals(Intent.ACTION_CALL)), то выдает ошибку BroadcastReceiver trying to return result during a non-ordered broadcast.
Подскажите что неправильно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2016, 09:43
Привет! Вот еще темы с ответами:

Завершение работы приложения - Программирование Android
у меня есть менюшка. там есть кнопочка quit, мне нужна чтоб она полностью прекращала работу приложения. Я пытаюсь сделать подобным образом:...

Коректное завершение программы - Программирование Android
Есть главное activity, которое запускает сервис. Сервис выполняет длительную операцию. При нажатии Back приложение сворачивается, сервис...

Завершение потока AsyncTask - Программирование Android
Доброго времени суток. Возникла проблема с закрытием потока. Первый раз код выполняется и все норм, но т.к. при нажатии на кнопку...

Программное завершение приложения - Программирование Android
Здравствуйте. Как программно завершить приложение? То есть не завершить активность через finish(), а именно выйти из приложения вообще.


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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