Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / блокировка входящих звонков / 2 сообщений из 2, страница 1 из 1
10.03.2015, 08:52
    #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
10.03.2015, 09:02
    #38899392
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
блокировка входящих звонков
ТелефонистКак сделать чтобы первый звонок не проходил?
Никак. Даже самые навороченные блокировщики не редко пасуют перед системным приоритетом.
Второе, скорее всего тоже, не реализовать.

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


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