Как подключиться to rild Socket

Я пытаюсь написать приложение, чтобы поговорить с рилдом. И да, я знаю, что это не политкорректно, но это встроенное приложение для промышленной телеметрии, поэтому меня не беспокоит взаимодействие с пользователем, переносимость и все такое.

Проблема в том, что когда я пытаюсь подключиться, я получаю исключение java.io «Permission denied». Кто-нибудь может мне помочь?

Телефон (Nexus One) рутирован с помощью Cyanogenmod 7, и приложение работает как суперпользователь с помощью приложения «SuperUser» из Маркета.

Мой код (сокращенно):

try {
  mSocket = new LocalSocket();
  mSockAddr = new LocalSocketAddress( "rild", LocalSocketAddress.Namespace.RESERVED );
  mSocket.connect( mSockAddr );
}
catch( Exception e ) {
  dbg.p( "connect failed: "+e );
}

Я вижу сокеты rild (и rild-debug) в / dev / socket.

srw-rw----    1 root     radio            0 Feb 13 19:14 rild
srw-rw----    1 radio    system           0 Feb 13 19:14 rild-debug

Может быть, приложение Dialer уже подключено и перегружено сокетом?

Кстати, сначала я пытался использовать фреймворки, но получил огромное количество ошибок, в основном связанных с java и сторонними классами, поэтому я отказался после нескольких дней выдергивания волос. У меня также есть STFW и этот сайт - много танцуют вокруг этой проблемы, но нет конкретных советов.

Любая помощь очень ценится. -Джон

11
задан Marian Paździoch 13 May 2014 в 12:55
поделиться