ワイヤレス チャネルだけでなく、テザリングを含む Android デバイスのネットワーク接続をチェックするコードを探しています。
私はそのようなものを探してオンラインで何時間も費やしましたが、結果はありません! 私が見つけたすべての機能は、ワイヤレスネットテストのみを管理します。テザリングでは何もありません。それで、少なくともそれは可能ですか?対応するものはありますか?
ワイヤレス チャネルだけでなく、テザリングを含む Android デバイスのネットワーク接続をチェックするコードを探しています。
私はそのようなものを探してオンラインで何時間も費やしましたが、結果はありません! 私が見つけたすべての機能は、ワイヤレスネットテストのみを管理します。テザリングでは何もありません。それで、少なくともそれは可能ですか?対応するものはありますか?
これにより、テザリングが有効になっているかどうかがチェックされます。adbWireless がテザー接続で動作するように変更したクラスから切り取りました。
// check if tethering is on
try {
Method[] wmMethods = mWifiManager.getClass().getDeclaredMethods();
for(Method method: wmMethods)
if("isWifiApEnabled".equals(method.getName()))
return (Boolean) method.invoke(mWifiManager);
return false;
} catch (Exception x) {return false;}
また、 android.permission.ACCESS_WIFI_STATE も必要です
これをチェックしてください:
public static boolean isOnline(Context context) {
boolean isOnline = false;
try {
final ConnectivityManager conMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo activeNetwork = conMgr.getActiveNetworkInfo();
if(activeNetwork != null && activeNetwork.isConnected() && activeNetwork.isAvailable()) {
isOnline = true;
} else {
isOnline = false;
}
} catch(Exception e) {
Log.e(Config.LOG_TAG, e.toString());
isOnline = false;
}
return isOnline;
}
また、そのような権限を AndroidManifest.xml に追加します。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />