20

WifiでOBD2デバイスに接続するAndroidアプリケーションを開発しており、アプリは速度、RPM、エンジンクーラント温度の詳細などを読み取ることができます。したがって、wifiはOBD2デバイスとの接続にのみ使用されます(接続する機能はありません)インターネット、ローカル クライアントとの通信のみ)。また、Web サービス用のインターネット接続も必要です。しかし、Wi-Fiを接続した後、Androidのモバイルデータネットワーク経由でインターネットに接続できません。

同様のアプリケーションが iOS 用にも開発されています。iOS では、Wi-Fi (静的 Wi-Fi 設定) 経由でデバイスを使用し、セルラー ネットワークからインターネット接続を使用できます。iOSでインターネット接続にモバイルデータネットワークを使用できる静的IPでwifiを構成することを意味します。

しかし、Android では、静的な wifi を使用してインターネット接続を確認すると、利用できません。

Androidでwifi設定を構成することにより、Wifiとインターネット接続の両方を並行して実行するか、他の方法で使用するにはどうすればよいですか?

4

2 に答える 2

6
connectivityManager.requestRouteToHost(ConnectivityManager.TYPE_MOBILE_HIPRI, hostAddress);

そのタイプの接続を使用する必要がある特定の hostAddress を要求できます。Hipri を使用する場合は、モバイル ネットワークが使用されます。しかし、これは失敗する可能性があります。それが機能する場合、そのアドレスへのすべての接続は、そのタイプの接続を経由します。

最初に有効にする必要がある場合があります。

int resultInt = connectivityManager.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE, "enableHIPRI");

ハードウェア モジュールを起動する必要があるため、これには数秒かかる場合があります。

私はこれをいくつかのプロジェクトで使用しており、うまく機能しています。2.2 などの古いデバイスでは、反応が非常に不安定になります。しかし、4.0以降では問題は見つかりませんでした

于 2014-08-22T12:48:49.620 に答える