0

ワイヤレス チャネルだけでなく、テザリングを含む Android デバイスのネットワーク接続をチェックするコードを探しています。

私はそのようなものを探してオンラインで何時間も費やしましたが、結果はありません! 私が見つけたすべての機能は、ワイヤレスネットテストのみを管理します。テザリングでは何もありません。それで、少なくともそれは可能ですか?対応するものはありますか?

4

2 に答える 2

2

これにより、テザリングが有効になっているかどうかがチェックされます。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 も必要です

于 2013-01-28T08:34:25.500 に答える
0

これをチェックしてください:

    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" />
于 2012-11-20T13:44:16.397 に答える