免责声明- 我知道调用非 API 方法会如何影响我的应用程序。它不会在 Google Play 上发布,我创建它只是为了个人使用。
任务- 在有根手机 (Android 2.3.3) 上获取可用的网络运营商。型号已知。
我试过什么
很多反思:
- 试图得到
PhoneFactory
,得到默认Phone
(getDefaultPhone
)或GSMPhone
。我收到了一个实际的参考PhoneProxy
并且能够调用getAvailableNetworks
它返回一个CommandException
- RADIO_NOT_AVAILABLE - 试图
RIL
直接实例化。尝试以getAvailableNetworks
相同的结果调用此处(RADIO_NOT_AVAILABLE)。试图调用registerForAvaiable
它永远不会将消息发送回处理程序。 - 试图连接
LocalSocket
到“rild”。得到IOException: Permission denied
我已经使用存储在我的应用程序尝试了上述所有/system/app/
操作 - 结果是相同的。
问题
- 甚至可以在
RIL
不使用系统密钥签署我的应用程序或使用自定义 Android 构建的情况下访问方法吗? - 也许我可以通过直接为 Linux 构建应用程序来克服这个问题?
- 非常感谢有关此问题的任何建议。