Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android用戶網絡檢測工具

android用戶網絡檢測工具

編輯:關於Android編程

public class NetUtil{
	
	private static String PROXY = "";      // 移動運營商代理: 中國移動:10.0.0.172 其它的忘了
	private static int PORT = 0;           // 端口:80
	/**
	 * 檢查用戶網絡
	 */
	public static boolean checkNet(Context context){
		// 判斷WIFI連接
		boolean isWifi = isWifiConnection(context);
		// 判斷Mobile連接
		boolean isMobile = isMobileConnection(context);
		// 如果Mobile連接,判斷是哪個APN被選中了
		if(isMobile){
			// APN被選中,代理信息是否有內容,如果wap方式
			readAPN(context); // 判斷是哪個APN被選中

			// TODO
		}
		
		if(!isWifi && !isMobile){
			return false;
		}
		
		return true;
	}

	/**
	 * 讀取被選中的APN
	 * @param context
	 */
	private static void readAPN(Context context) {
		// 操作聯系人
		ContentResolver resolver = context.getContentResolver();
		Uri uri = Uri.parse("content://telephony/carriers/preferapn");
		
		Cursor cursor = resolver.query(uri, null, null, null, null);
		if(cursor!=null && cursor.moveToNext()){
			PROXY = cursor.getString(cursor.getColumnIndex("proxy"));
			PORT = cursor.getInt(cursor.getColumnIndex("port"));
		}
	}

	/**
	 * 判斷: Mobile連接
	 * @param context
	 * @return
	 */
	private static boolean isMobileConnection(Context context) {
		ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
		if(networkInfo!=null){
			return networkInfo.isConnected();
		}
		return false;
	}
	
	/**
	 * 判斷: Wifi連接
	 * @param context
	 * @return
	 */
	private static boolean isWifiConnection(Context context) {
		ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
		if(networkInfo!=null){
			return networkInfo.isConnected();
		}
		return false;
	}
}

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved