Я пытаюсь написать приложение, чтобы поговорить с рилдом. И да, я знаю, что это не политкорректно, но это встроенное приложение для промышленной телеметрии, поэтому меня не беспокоит взаимодействие с пользователем, переносимость и все такое.
Проблема в том, что когда я пытаюсь подключиться, я получаю исключение 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 и этот сайт - много танцуют вокруг этой проблемы, но нет конкретных советов.
Любая помощь очень ценится. -Джон