【发布时间】:2011-10-02 13:21:02
【问题描述】:
USB 反向绑定 = 手机通过 USB 从 PC 获取网络连接。
我知道如何进行 USB 反向网络共享,除了一个问题:许多 Android 应用程序会在执行任何有用的工作之前使用以下代码检查网络连接:
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
问题是,当使用USB反向共享时,上面的代码会报告没有网络连接。但是,有一个网络连接(这是 USB 反向网络共享本身),并且 ping、wget 和所有不执行这种愚蠢检查的程序都可以正常工作。
所以问题是:我怎样才能破解系统让这个网络连接检查返回成功(这样我就可以欺骗这些应用程序)?
顺便说一句。我使用的是 Cyanogenmod 7。也欢迎任何针对此 MOD 的解决方案。
【问题讨论】:
-
你是想为此做一个应用程序,还是只是在寻找对android系统的修改来做到这一点?因为我不认为从 java 代码的角度来看,你可以做很多改变来让整个系统认为它是连接的。
-
user717572:最好能动态调整运行时参数。否则,我想我们可能不得不修改系统。欢迎任何适用的解决方案。
-
您的应用程序是启动反向网络共享还是第三方的事情?
-
你能调出一个假的界面吗?
-
如果已经运行,制作精良的应用程序可能会通过操作
android.net.conn.CONNECTIVITY_CHANGE对意图做出反应。如果您的应用程序使互联网可用,则广播此内容可能会诱使某些应用程序使用它。但是,大多数应用程序会查询ConnectivityManager.getActiveNetworkInfo(),它仍然很可能会回答“未连接”。
标签: android