importjava.net.InetAddress;importjava.net.NetworkInterface;importjava.net.SocketException;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Collections;importjava.util.Date;importjava.util.List;importjava.util.Locale;importorg.apache.http.conn.util.InetAddressUtils;importandroid.app.Activity;importandroid.content.Context;importandroid.content.pm.PackageInfo;importandroid.content.pm.PackageManager;importandroid.content.pm.PackageManager.NameNotFoundException;importandroid.net.ConnectivityManager;importandroid.net.NetworkInfo;importandroid.net.wifi.WifiInfo;importandroid.net.wifi.WifiManager;importandroid.os.Environment;importandroid.text.TextUtils;importandroid.util.DisplayMetrics;importandroid.util.Log;publicclassMyUtils{/***获取屏幕宽度高度密度**如果屏幕密度低,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点*<supports-screensandroid:smallScreens="true"android:normalScreens="true"android:largeScreens="true"android:resizeable="true"android:anyDensity="true"/>*@paramactivity屏幕界面*@paramtype类型1:宽度,2:高度,3:密度,4dpi密度*@return屏幕宽度或高度或密度*/publicObjectgetWindowSize(Activityactivity,inttype){DisplayMetricsmetric=newDisplayMetrics();activity.getWindowManager().getDefaultDisplay().getMetrics(metric);if(type==1){intwidth=metric.widthPixels;//屏幕宽度(像素)returnwidth;}elseif(type==2){intheight=metric.heightPixels;//屏幕高度(像素)returnheight;}elseif(type==3){floatdensity=metric.density;//屏幕密度(0.75/1.0/1.5)returndensity;}elseif(type==4){intdensityDpi=metric.densityDpi;//屏幕密度DPI(120/160/240)returndensityDpi;}return0;}/***获取MAC地址*@paramcontext上下文*@paramreplaceSymbol替换字符,默认替换字符为""*@return返回MAC地址错误返回12个0*/publicStringgetMacAddress(Contextcontext,StringreplaceSymbol){StringmacAddress="000000000000";if(replaceSymbol==null){replaceSymbol="";}try{WifiManagerwifiMgr=(WifiManager)context.getSystemService(Context.WIFI_SERVICE);WifiInfoinfo=(null==wifiMgr?null:wifiMgr.getConnectionInfo());if(null!=info){if(!TextUtils.isEmpty(info.getMacAddress()))macAddress=info.getMacAddress().replace(":",replaceSymbol);elsereturnmacAddress;}}catch(Exceptione){e.printStackTrace();returnmacAddress;}returnmacAddress;}/***获取当前时间*@paramtype日期时间格式*@paramlocale地区默认为Locale.CHINA*@return按照格式返回当前时间*/publicStringgetCurrentTime(Stringtype,Localelocale){if(locale==null){locale=Locale.CHINA;}DatecurDate=newDate(System.currentTimeMillis());SimpleDateFormatsdf=newSimpleDateFormat(type,locale);returnsdf.format(curDate);}/***日期格式转换**@paramdate待转换日期*@paramtype格式*@paramlocale地区默认为Locale.CHINA*@return日期*/publicStringformatDate(Stringdate,Stringtype,Localelocale){StringfmDate="";if(date!=null){if(locale==null){locale=Locale.CHINA;}SimpleDateFormatsdf=newSimpleDateFormat(type,locale);fmDate=sdf.format(newDate(Long.parseLong(date)));}returnfmDate;}/***获取当前版本名,版本号*@paramcontext上下文*@paramtype1:版本名称,2:版本号*@return版本名或版本号*/publicObjectgetCurrentVersionName(Contextcontext,inttype){PackageManagermanager=context.getPackageManager();StringpackageName=context.getPackageName();StringversionName=null;intversionCode=0;try{PackageInfoinfo=manager.getPackageInfo(packageName,0);if(type==1){versionName=info.versionName;returnversionName;}elseif(type==2){versionCode=info.versionCode;returnversionCode;}}catch(NameNotFoundExceptione){e.printStackTrace();returnnull;}returnnull;}/***网络检测*@paramcontext上下文*@returnfalse:无网络,true:有网络*/publicbooleanisOnline(Contextcontext){booleanisOnline=false;finalConnectivityManagercm=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);finalNetworkInfonetworkInfo=cm.getActiveNetworkInfo();if(networkInfo!=null){isOnline=networkInfo.isAvailable();}//StringnetType="当前网络类型为:"+networkInfo.getTypeName();returnisOnline;}/***比较时间**@returntruecourseTime大于当前时间*/publicbooleancompareTime(StringcurTime,StringcourseTime){SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm",Locale.CHINA);booleanboo=true;try{boo=sdf.parse(courseTime).getTime()-sdf.parse(curTime).getTime()>0;}catch(ParseExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnboo;}/***获取有网线下的Ip地址*需要添加权限:<uses-permissionandroid:name="android.permission.INTERNET"/>*@paramcontext上下文*@returnIP地址*/publicStringgetWXLocalIpAddress(Contextcontext){Stringipv4="0.0.0.0";try{booleanboo=true;List<NetworkInterface>nilist=Collections.list(NetworkInterface.getNetworkInterfaces());for(NetworkInterfaceni:nilist){List<InetAddress>ialist=Collections.list(ni.getInetAddresses());for(InetAddressaddress:ialist){if(!address.isLoopbackAddress()&&InetAddressUtils.isIPv4Address(ipv4=address.getHostAddress())){boo=false;break;}if(!boo){break;}}}}catch(SocketExceptionex){Log.e("WangLuo",ex.toString());}returnipv4;}/***获取Wifi下的Ip地址*需要添加权限:<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>*@paramcontext上下文*@returnIP地址*/publicStringgetWifiLocalIpAddress(Contextcontext){WifiManagerwifi=(WifiManager)context.getSystemService(Context.WIFI_SERVICE);WifiInfoinfo=wifi.getConnectionInfo();intipAddress=info.getIpAddress();returnintToIp(ipAddress);}privateStringintToIp(inti){return(i&0xFF)+"."+((i>>8)&0xFF)+"."+((i>>16)&0xFF)+"."+((i>>24)&0xFF);}/***SD卡是否存在*@return*/publicbooleanisSDexist(){//SD卡是否存在booleanisExist=Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState());returnisExist;}/***获取网路连接类型*@paramcontext上下文*@return网络类型*需要添加权限<uses-permissionandroid:name="android.permission.INTERNET"/>*需要添加权限<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>*/publicStringgetNetType(Contextcontext){ConnectivityManagerconn=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfoinfo=conn.getActiveNetworkInfo();Stringresult=null;if(info!=null&&info.isAvailable()){if(info.isConnected()){inttype=info.getType();StringtypeName=info.getTypeName();switch(type){caseConnectivityManager.TYPE_BLUETOOTH:result="蓝牙连接:"+typeName;break;caseConnectivityManager.TYPE_DUMMY:result="虚拟数据连接:"+typeName;break;caseConnectivityManager.TYPE_ETHERNET:result="以太网数据连接:"+typeName;break;caseConnectivityManager.TYPE_MOBILE:result="移动数据连接:"+typeName;break;caseConnectivityManager.TYPE_MOBILE_DUN:result="网络桥接:"+typeName;break;caseConnectivityManager.TYPE_MOBILE_HIPRI:result="高优先级的移动数据连接:"+typeName;break;caseConnectivityManager.TYPE_MOBILE_MMS:result="运营商的多媒体消息服务:"+typeName;break;caseConnectivityManager.TYPE_MOBILE_SUPL:result="平面定位特定移动数据连接:"+typeName;break;caseConnectivityManager.TYPE_WIFI:result="Wifi数据连接:"+typeName;break;caseConnectivityManager.TYPE_WIMAX:result="全球微波互联:"+typeName;break;default:break;}}}returnresult;}}


更多相关文章

  1. android典型代码系列(二十五)------popupwindow的使用
  2. android 通配用获取屏幕参数
  3. Android(安卓)之ContextMenu上下文菜单
  4. Android重启应用程序代码
  5. Android(安卓)2d物理引擎Box2d介绍
  6. Android(安卓)密度转换多分辨率
  7. android获取屏幕分辨率
  8. Android(安卓)OnTouchListener 触摸事件 & GestureDetector 手势
  9. android屏幕保持唤醒

随机推荐

  1. GridView 的基本使用
  2. Android编程点滴(14) -- Android中资源文
  3. 基本控件学习二 (多选框)
  4. Android 农历和节气相关工具类(记录)
  5. GreenDao自动生成Android数据库操作代码
  6. Android利用资源名称获取其id之getIdenti
  7. android studio 无法在可视化页面预览布
  8. Android 之 复选框(CheckBox)的使用
  9. Android的五大基本组件
  10. Android LRUCache