【问题标题】:Low-level communication on Android/other mobile platformsAndroid/其他移动平台的底层通信
【发布时间】:2012-10-08 17:43:26
【问题描述】:

Android 有它的 NDK 来处理本机代码。我只是想知道在这个平台上进行低级编程可以走多远——例如,您是否可以控制手机通过 GSM/UMTS 网络传输的内容或查看接收到的原始数据。

在其 API 范围内的这个/其他平台上通常可以使用嵌入式电话调制解调器吗?

我认为干扰较低的通信层(如对语音数据添加压缩、更改编码等)意味着玩弄通信模块的固件,通常是手机制造商不官方支持的东西.

关于这个主题有什么可以推荐阅读或搜索的吗?

【问题讨论】:

  • 通常情况下,我认为您将无法访问低级 API。 Android 是开源的,您可以检查它在低级别上的工作方式,但您的应用程序将无法以低级别的方式访问调制解调器,因为 API 不是公开的。此外,NDK 维护着一个稳定的 API 列表。使用其他任何东西都意味着您的应用可能无法在未来的设备上运行(因为 API 可能在此期间发生了变化)。
  • 感谢您的回答。您能否更具体地了解其他低级 API?我针对的是特定设备,所以未来的便携性现在不是问题。那么我应该寻找一些特定于设备的 API 吗?
  • 检查特定于设备的 API 是一个好主意(制造商可能有这样的),但我担心他们不会有任何公共 API(因为它们通常不会公开这些关键功能),所以你需要通过 NDK 和底层研究来探索一切。不幸的是,我不知道这个领域,所以我真的无法提供更多帮助。我将在答案中发布一些链接(希望您也会得到更好和有用的答案)。

标签: android mobile communication gsm low-level


【解决方案1】:

一个公共 API 包(就您的要求而言,它并不是很丰富): http://developer.android.com/reference/android/telephony/package-summary.html

关于低级 API(Android 的 Radio 接口层),您可以在此处阅读: http://www.netmite.com/android/mydroid/development/pdk/docs/telephony.html

关于实施(修改)RIL: http://www.netmite.com/android/mydroid/development/pdk/docs/telephony.html#androidTelephonyRILImplementing

但是,在这种情况下,您需要接触 Android 源代码,因此对于应用程序开发,它不是一个选项。

【讨论】:

  • 在 RIL 下,有基带固件解释、处理和生成传输给网络提供商的数据包。基带固件是设备特定的、闭源的和专有的。因此,您仅限于 RIL 级别,即实现 AT commands 与基带调制解调器通信。这就是使用 root 权限可以走多远。请参阅this topic on XDA 了解更多信息。
猜你喜欢
  • 2017-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多