【问题标题】:Change the Network Operator with an Android App使用 Android 应用更改网络运营商
【发布时间】:2011-08-24 00:04:12
【问题描述】:

我正在尝试开发一个 Android 应用程序,它可以在地图上显示各种网络运营商的信号强度。问题是,改变网络运营商的唯一方法是手工操作。

关于如何在不手动更改的情况下获取此信息的任何想法?我认为有内部/私有的 Android 类可以做到这一点。

【问题讨论】:

    标签: android networking operator-keyword


    【解决方案1】:

    您需要使用一个或多个 Google 内部 API 来执行此操作。默认情况下,出于各种(通常是好的)原因,它们不适用于 Android 应用程序。例如,用于打开和关闭网络共享以及对其进行配置的 API 不是公共 API,不能由第三方应用程序直接调用。

    您需要做两件事。首先,下载 Android 源代码并找到您需要列出和切换运营商的 API。您可以找到 Android 源代码和下载说明,here

    其次,您需要使用反射来调用这些 API 上的方法。最好的方法是编写一个代理类,也是我自己用来玩网络共享 API 的一种方法。为它提供与您要使用的 API 相同的方法,并在每个方法内部使用反射来调用 API 方法。任何其他技术要么 (a) 在不将部分 Android 源代码添加到类路径的情况下无法编译,然后 (b) 将编译但在部署时崩溃。

    请注意,您最好在 Nexus 品牌的设备上执行此操作,因为它上面有原版 Android 代码。我(成功)尝试编写一个主屏幕小部件来打开和关闭网络共享在 Nexus One 上有效,但在三星 Galaxy Tab P1000 上无效。该设备支持网络共享,但三星在移植工作中修改了操作系统的这一部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      • 2020-12-16
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      相关资源
      最近更新 更多