Android 開發中常見的公共方法總結

RWEFreddie 8年前發布 | 9K 次閱讀 Android開發 移動開發

來自: http://my.oschina.net/u/2491515/blog/607553


1、強制顯示或隱藏軟鍵盤

 /**
     isOpen = true  顯示
     isOpen = false 隱藏
     當v為空時可以調用getWindow().peekDecorView()獲取整個屏幕的View
 */
 public static void handlerKeyboard(View v, boolean isOpen) {
        InputMethodManager imm = (InputMethodManager) v.getContext()
        .getSystemService(Context.INPUT_METHOD_SERVICE);
        if (isOpen) {
            imm.showSoftInput(v, InputMethodManager.SHOW_IMPLICIT);
        } else {
            if (imm.isActive()) {
                imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0);
            }
        }
    }

2、判斷網絡狀態

/**
    返回true網絡正常
*/
public static boolean JudgeNetWorkStatus(Context context) {
    if (context == null) {
        return false;
    }
    boolean netStatus = false;
    ConnectivityManager conManager = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo info = conManager.getActiveNetworkInfo();
    if (info != null) {
        netStatus = info.isAvailable();
    }
    return netStatus;
}

3、判斷WiFi是否連接

public static boolean isWifiConnected(Context context) {
    if (context == null) {
        return false;
    }
    ConnectivityManager connMgr = (ConnectivityManager) context
    .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeInfo = connMgr.getActiveNetworkInfo();
    if (activeInfo != null && activeInfo.isConnected()) {
        return activeInfo.getType() == ConnectivityManager.TYPE_WIFI;
    }
    return false;
}

4、判斷移動網絡是否連接

public static boolean isMobileConnected(Context context) {
    if (context == null) {
        return false;
    }
    ConnectivityManager connMgr = (ConnectivityManager) context
    .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeInfo = connMgr.getActiveNetworkInfo();
    if (activeInfo != null && activeInfo.isConnected()) {
        return activeInfo.getType() == ConnectivityManager.TYPE_MOBILE;
    }
    return false;
}


 本文由用戶 RWEFreddie 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!