是这样,我手里没有framework的代码,想写一个简单的应用,用android模拟器调一下UI,然后在这个应用里面给手机发AT命令S实现一个功能,调试通过,这个APK就要在android手机上上投入商用。但是AT的处理是在RIL的代码里面做到,我手里只有SDK,没有framework,RIL代码,也不知道各个android手机厂商对这个AT命令如何处理,我应该怎么做,谢谢。

解决方案 »

  1.   

    下载个base.git里面有telephony和ril的,直接调就行了,底层就不用管了,不过目前android分离出gsm和cdma,至于ophone上的td,还不轻粗话
      

  2.   

    参考一下sdk的帮助文档看看...
      

  3.   

    AT标准命令中 有很多是通用的,但是不同的modem厂商肯定有自己的私有AT,
    不可能用同一条AT命令实现 各种硬件平台上的功能。
    除非你调用android封装好的framework层,不用理会更下层
      

  4.   

    这个还是得看一下Framework和RIL的代码了,如果手机本身支持你要发送的AT命令,那就比较简单,调用借口就可以了。如果没有的话,你就得自己写了,难度很大。看你现在的情况,还是找人先确认一下你这条命令所要实现的功能google有没有在系统实现吧!
    8楼也说啦!这个可移植性的问题还得考虑,每个Modem可能要实现的AT 也不一样
      

  5.   

    我要用的AT命令是CSIM或者OMS的CRSM
      

  6.   

       AT命令是有RILD层的cdma发送的,Java层的RIL是对RILD层的一次封装,他负责向底层发送请求和接受请求,再响应上层,也就是说Java层的RIL是桥梁。
       你要发送你的AT命令我觉得应该不行,我们是从上到下改源码,提供借口
      

  7.   

    可是我又不是手机厂商,不可能拿到某个厂商的framework的代码
      

  8.   

    建议你还是做其他的应用去吧!这个难度确实很大,而且由于Modem的差异也不可能做到每个终端都能支持
      

  9.   

    真的不可行吗?那如果做第三方应用的人,手里又没有手机厂商的代码,只是想做一个APK,然后通过RIL去实现一些底层的功能,比如一个第三方应用要读取SIM卡上的联系人,那应该怎么办呢?
      

  10.   

    目前Android并不支持系统与SIM卡直接通信,必须经过Modem/RIL操作
    获取SIM卡上的联系人应该是可以的,而且和厂商无关,应该有相应的接口。
    但是具体怎么实现我也不清楚。
      

  11.   

    RIL到最后要调用libreference-ril.so作为HAL的,这一层根据不同硬件会有差异,需要自己修改才能实现的。
      

  12.   

    不行
    对具体AT指令的处理是在Modem侧完成的
    各个厂商对流程的处理是不一样的不过,一般来说
    对于同样的AT指令,功能应该是相同的
    比如,你可以在多种设备上输入at+cgmi,都会返回同一种信息
    但是这种信息是怎么来的,每种机器的Modem侧的处理流程是不同的