Тема: Android & GSM
Показать сообщение отдельно
Непрочитано 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™ Ответить с цитированием