我正在尝试编写一个与 rild 交谈的应用程序。是的,我知道这在政治上不正确,但它是一个嵌入式工业遥测应用程序,所以我不关心用户体验、便携性和所有这些东西。
问题是当我尝试连接时,我得到一个 java.io “Permission denied” 异常。有谁能够帮我?
手机(Nexus One)以 Cyanogenmod 7 为根,该应用程序使用 Market 中的“SuperUser”应用程序以超级用户身份运行。
我的代码(缩写):
try {
mSocket = new LocalSocket();
mSockAddr = new LocalSocketAddress( "rild", LocalSocketAddress.Namespace.RESERVED );
mSocket.connect( mSockAddr );
}
catch( Exception e ) {
dbg.p( "connect failed: "+e );
}
我在 /dev/socket 中看到了 rild(和 rild-debug)套接字。
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 和这个网站 - 围绕这个问题跳了很多,但没有具体的建议。
非常感谢任何帮助。-约翰