Я пытаюсь написать приложение, чтобы поговорить с rild. И Да, я знаю, что это не политически корректно, но это встроенное промышленное приложение для телеметрии, поэтому меня не интересует пользовательский интерфейс, мобильность и все такое.
Проблема в том, что когда я пытаюсь подключиться, я получаю исключение java.io "Permission denied". Кто-нибудь может мне помочь?
Телефон (Nexus One) укоренен с Cyanogenmod 7, и приложение работает как суперпользователь, используя приложение "SuperUser" на Market.
Мой код (сокращенно):
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 уже подключено и запутывает сокет?
BTW Я изначально пытался использовать фреймворки, но получал грузинский багаж ошибок, в основном из-за неизвестных java и третьих сторон, поэтому я отказался после нескольких дней вытягивания волос. У меня также STFW и этот сайт - много танцующих вокруг проблемы, но никаких конкретных советов.
Любая помощь очень ценится. -Джон