我正在尝试编写一个与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 );
}
Run Code Online (Sandbox Code Playgroud)
我在/ 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
Run Code Online (Sandbox Code Playgroud)
可能是拨号器应用程序已经连接并占用套接字?
BTW我最初尝试使用这些框架但是得到了一大堆关于java和第三方类未知的错误,所以我放弃了几天后就放弃了.我也是STFW和这个网站 - 围绕这个问题跳舞,但没有具体的建议.
任何帮助非常感谢.-约翰
在RILD插座的java的到底是一个实例com.android.internal.telephony.RIL.java,这是由拥有com.android.phone.PhoneApp.java.PhoneApp是一款持久性应用程序,毫不奇怪,它提供了手机功能.禁用PhoneApp应该杀死rild套接字的任何java端使用.
您也可能想尝试连接到"rild-debug",这是未使用的(但可能被ril-daemon忽略).
顺便说一句 - 你可以通过logcat -b radio看到RIL层之间的通信.
如果你想出一个解决方法,请回复.
| 归档时间: |
|
| 查看次数: |
10853 次 |
| 最近记录: |