Android & GSM - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > Java

Java В данном форуме вы сможете найти много полезной информации по платформе Java. Подробные статьи, исходные коды и конечно учебники как для новичков так и профессиональных Java разработчиков вы найдёте здесь. Если у вас есть вопрос или хотите поделится своими наработками, пожалуйста, делайте это в этой теме.

Ответ
Опции темы
Непрочитано 05.06.2012, 21:40   #1
Пользователь

Автор темы (Топик Стартер) Android & GSM

Недавно занялся изучением платформы Android, как полагается, написал HelloWorld, далее пошли более сложные приложения... Казалось, нет предела совершенству, но, не всё так гладно, как хотелось бы. Android API ни в какую не дает доступа к GSM, какими бы путями я туда не пытался проникнуть. Я знаю, что это сделано из соображений безопасности, и что это не баг, это фича. Суть в том, что моему приложению нужно получать входные данные в виде звукового сигнала (с микрофона или гарнитуры), и отправлять их в GSM канал, и наоборот: принимать данные из GSM канала, преобразовывать в звук, и выводить на динамик\наушники. Желательно делать это поверхностно, по возможности даже без root прав. Вмешательство в ядро Android'a - самый крайний случай.

Теперь по порядку, что и как исследовалось:
Для начала, все запуски производились на Sony ericsson Xperia Neo V, с официальной прошивкой 2.3.4, без root'а и всяческих взломов.

Способ 1) Прямой доступ к классам
PHP код:
import com.android.internal.telephony.PhoneFactory;
          ....
            
//PhoneFactory.makeDefaultPhones(this);
            
Phone phone PhoneFactory.sProxyPhone
В результате давал:
PHP код:
java.lang.IllegalAccessErrortried to access field com.android.internal.telephony.PhoneFactory.sProxyPhone from class com.example.MyActivity 
Получается, что Android на уровне VM блокирует подобные доступы.


Способ 2) Доступ через рефлексию.
Рефлексия не дала ничего интересного, максимум, получилось добраться до ITelephony, который также не дал явных ссылок на потоки ввода\вывода GSM.
PHP код:
            TelephonyManager tm = (TelephonyManagergetSystemService(TELEPHONY_SERVICE);
            Class 
= Class.forName(tm.getClass().getName());
            
Method m c.getDeclaredMethod("getITelephony");
            
m.setAccessible(true);
            
ITelephony telephony = (ITelephonym.invoke(tm); 
Интересно мнение тех, кто с этим сталкивался, подтолкните, куда копать дальше? Может есть уже готовые приложения, которые так или иначе взаимодействуют с GSM данными?
__________________
http://fw-tm.ru/ - Разработка эмулятора Goddess of Destruction
Neiwick вне форума Отправить сообщение для Neiwick с помощью ICQ Отправить сообщение для Neiwick с помощью Skype™ Ответить с цитированием
Непрочитано 05.06.2012, 23:18   #2
Аватар для VISTALL
Illussion is real

По умолчанию Re: Android & GSM

пересмотреть код Андроида - ничё не дает? как он работает с GSM
__________________
consulo.io - Consulo - multi-language IDE
VISTALL вне форума Ответить с цитированием
Непрочитано 05.06.2012, 23:24   #3
Аватар для Itachi
Учиха

По умолчанию Re: Android & GSM

Neiwick, не подскажу решения, но по вашему описанию походит на программу Shazam, попробуйте из нее вытащить то, что вам нужно.
Itachi вне форума Отправить сообщение для Itachi с помощью ICQ Отправить сообщение для Itachi с помощью Skype™ Ответить с цитированием
Непрочитано 06.06.2012, 06:18   #4
Пользователь

Автор темы (Топик Стартер) Re: Android & GSM

VISTALL, дает, цепочка прослеживается, проблема в том, что API не дает мне доступ к тем же классам и методам. Из моего приложения.
Sharki, shazam, насколько помню, ищет музыкальные треки по отрывкам песни, через интернет. Это немного не то, необходимо достучаться до gsm канала.
__________________
http://fw-tm.ru/ - Разработка эмулятора Goddess of Destruction

Последний раз редактировалось Neiwick; 06.06.2012 в 08:30.
Neiwick вне форума Отправить сообщение для Neiwick с помощью ICQ Отправить сообщение для Neiwick с помощью Skype™ Ответить с цитированием
Непрочитано 06.06.2012, 09:34   #5
Аватар для Itachi
Учиха

По умолчанию Re: Android & GSM

Neiwick, ну тогда попробуйте покопать программу записи разговора в MIUI прошивках(если надо, поделюсь) там она хорошо работает(есть на маркете еще ряд таких программ, но у каждой свои минусы)
Itachi вне форума Отправить сообщение для Itachi с помощью ICQ Отправить сообщение для Itachi с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 06.06.2012, 09:39   #6
Аватар для Evengard
Пользователь

По умолчанию Re: Android & GSM

Кхм-кхм...

Вообще-то, у всех официальных прошивок обычно заблокирован доступ к GSM-у (голосу). Полностью. Для того, чтобы оно работало, нужен рут и специальный модуль ядра.

На альтернативных прошивках оно обычно стоит.
Evengard вне форума Отправить сообщение для Evengard с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 06.06.2012, 10:21   #7
Пользователь

Автор темы (Топик Стартер) Re: Android & GSM

Sharki, я разбирал CallRecorder, для нормальной записи голоса действительно нужна модифицированная прошивка, но запись разговоров, это немного не то. Оно работает по следующему принципу:


Мне нужно сделать что то типо этого:


Evengard, доступ действительно заблокирован для обычных приложений. Но есть и системные приложения, типа стандартного приложения звонков, которое по умолчанию запущено под Root'ом. Оно имеет доступ к GSM'у.
Смотрите, как расставлены приоритеты(в порядке убывания):
1) Обычное приложение, установил, и звонишь.
2) Приложение, которому необходимы права Root
3) Внесение изменений в ядро.

Первые два пункта можно совместить, т.е. попытаться сделать так, чтоб моё приложение было по своим правам как системное (устанавливалось в system/app). Третьим заниматься не охото, так как мне нужен максимально простой для конечного пользователя вариант.
__________________
http://fw-tm.ru/ - Разработка эмулятора Goddess of Destruction
Neiwick вне форума Отправить сообщение для Neiwick с помощью ICQ Отправить сообщение для Neiwick с помощью Skype™ Ответить с цитированием
Непрочитано 06.06.2012, 12:56   #8
Аватар для Itachi
Учиха

По умолчанию Re: Android & GSM

хм, а почему бы тогда не взять любую звонилку? например ex Dialer. Он рута не требует, но и звонит без проблем. Может из нее сможете почерпнуть информации.
Itachi вне форума Отправить сообщение для Itachi с помощью ICQ Отправить сообщение для Itachi с помощью Skype™ Ответить с цитированием
Непрочитано 06.06.2012, 13:38   #9
Аватар для Evengard
Пользователь

По умолчанию Re: Android & GSM

ЗВОНИТЬ и ПРОСЛУШИВАТЬ КАНАЛ - разные вещи. Для НАБОРА НОМЕРА - то, чем занимаются все "Звонилки", рут не нужен - это стандартная функция API, при наличии нужного разрешения она сработает на любом номере. Вот только ПРОСЛУШИВАТЬ это АПИ не даёт.

Та же стандартная звонилка работает на уровне обычных приложений (не под Рутом) а просто дёргает все эти АПИ. Дал "пинок" на звонок - всё, на этом задача звонилки завершается, дальше сигнал передаётся в VM, VM передаёт нативным частям мобилки, которые уже запущены под рутом, те в свою очередь стучатся к дровам. Но VM за это уже не отвечает.
Evengard вне форума Отправить сообщение для Evengard с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 07.06.2012, 06:21   #10
Пользователь

Автор темы (Топик Стартер) Re: Android & GSM

Нашел два решения, оба достаточно не практичные в плане установки, зато позволяют выполнить задуманное. Если кому-то будет интересно, могу поделиться.
__________________
http://fw-tm.ru/ - Разработка эмулятора Goddess of Destruction
Neiwick вне форума Отправить сообщение для Neiwick с помощью ICQ Отправить сообщение для Neiwick с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Клиент lineage2 под android bugmenot Курилка / Yak floor 27 20.01.2015 18:11
Ubuntu for Android ALeKsIuS Курилка / Yak floor 7 23.02.2012 00:27
Android x86 JR.dev Курилка / Yak floor 2 23.01.2012 10:13
iPhone vs Android darkevil Курилка / Yak floor 36 19.09.2011 19:12


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 14:25. Часовой пояс GMT +3.

Вверх