powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / блокировка входящих звонков
2 сообщений из 2, страница 1 из 1
блокировка входящих звонков
    #38899376
Здравствуйте! Делаю программу - блокировка входящих звонков. Перехватываю звонок так:

Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
Object telephonyInterface;
Method methodEndCall;

...

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener callStateListener = new PhoneStateChangeListener();
try {
	Class<?> classTelephony = Class.forName(telephonyManager.getClass().getName());
	Method methodGetITelephony = classTelephony.getDeclaredMethod("getITelephony");
	methodGetITelephony.setAccessible(true);
	telephonyInterface = methodGetITelephony.invoke(telephonyManager);
	Class<?> telephonyInterfaceClass = Class.forName(telephonyInterface.getClass().getName());
	
	methodEndCall = telephonyInterfaceClass.getDeclaredMethod("endCall");
} catch (Exception e) {
	e.printStackTrace();
}		
telephonyManager.listen(callStateListener, PhoneStateListener.LISTEN_CALL_STATE);

...

private class PhoneStateChangeListener extends PhoneStateListener {
	@Override
	public void onCallStateChanged(int state, String incomingNumber) {
		switch (state) {
		case TelephonyManager.CALL_STATE_RINGING:
			Toast.makeText(getApplicationContext(), incomingNumber, Toast.LENGTH_LONG).show();
			try {
				methodEndCall.invoke(telephonyInterface);
			} catch (Exception e) {
				e.printStackTrace();
			}
			break;

		case TelephonyManager.CALL_STATE_OFFHOOK:
			break;

		case TelephonyManager.CALL_STATE_IDLE:
			break;

		default:
			break;
		}
	}
}


Всё получается, но! :
- иногда возникает такая ситуация, что при входящем звонке иногда(именно иногда не всегда) проходит первый звонок, затем сброс. Как сделать чтобы первый звонок не проходил?
- всегда(!) появляется стандартное окно, для приёма звонков (принять/отклонить и тд). Как сделать, чтобы окно не появлялось?
...
Рейтинг: 0 / 0
блокировка входящих звонков
    #38899392
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТелефонистКак сделать чтобы первый звонок не проходил?
Никак. Даже самые навороченные блокировщики не редко пасуют перед системным приоритетом.
Второе, скорее всего тоже, не реализовать.

Вот програмка-блокировщик http://4pda.ru/forum/index.php?showtopic=309634&st=200 можно на ней потренироваться и понять, что можно добиться и чего нельзя. Она у меня работает с теми-же проблемами, что и все. Экран включается всегда , первый звонок иногда пропускает, появляется-ли звонилка - не обращал внимание.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / блокировка входящих звонков
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]