Conexão reversa USB = o celular obtém conexão de rede do PC via USB.
Eu sei como fazer o tethering reverso USB, exceto por um problema: muitos aplicativos Android verificarão a conexão de rede usando o código abaixo antes de realizar qualquer trabalho útil:
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
O problema é que, ao usar o tethering reverso USB, o código acima relatará nenhuma conexão de rede. No entanto, existe uma conexão de rede (que é o próprio tethering reverso USB) e o ping, o wget e todos os programas que não fazem essa verificação estúpida funcionam bem.
Portanto, a pergunta é: como posso invadir o sistema para permitir que essa conexão de rede verifique o retorno com êxito (para que eu possa enganar esses aplicativos)?
Entre. Eu uso o Cyanogenmod 7. E qualquer solução específica para este MOD também é bem-vinda.
fonte
Respostas:
Vejo que essa é uma pergunta bastante antiga, mas no caso de alguém pesquisar no Google e chegar aqui. Existe um módulo relativamente novo chamado FakeWifiConnection baseado no framework Xposed. A instalação e o uso devem ser bem diretos.
fonte
Eu diria que existem apenas soluções específicas para Mod. Quase todos os aplicativos que conheço usam essa API do Android e, portanto, o código recortado em suas perguntas, para verificações de conectividade de rede.
Seria necessário alterar a fonte de Cyanogen para que o sistema operacional (Android + Cyanogen) esteja ciente da conectividade de rede do tethering reverso USB e retorne as informações corretas para o aplicativo que solicita o estado atual da rede. Não acredito que isso possa ser feito com alguma camada artificial entre a API e o aplicativo que "engana" o aplicativo. É mais realista que o Cyanogen implemente o manuseio da amarração reversa, imitando uma conexão WiFi ativa. Você deve pedir que eles abordem esse tópico. Talvez no futuro o Android tenha suporte oficial para amarrar reversamente. :)
fonte