1、获取IP(ipv4)地址

publicStringgetLocalIpAddress(){try{for(Enumeration<NetworkInterface>en=NetworkInterface.getNetworkInterfaces();en.hasMoreElements();){NetworkInterfaceintf=en.nextElement();for(Enumeration<InetAddress>enumIpAddr=intf.getInetAddresses();enumIpAddr.hasMoreElements();){InetAddressinetAddress=enumIpAddr.nextElement();if(!inetAddress.isLoopbackAddress()&&!inetAddress.isLinkLocalAddress()){//!inetAddress.isLinkLocalAddress()Android4.0以上排除IPv6地址returninetAddress.getHostAddress().toString();}}}}catch(SocketExceptionex){Log.e("WifiPreferenceIpAddress",ex.toString());}returnnull;}

2、获取MAC地址

publicStringgetLocalMacAddress(){WifiManagerwifi=(WifiManager)getSystemService(Context.WIFI_SERVICE);WifiInfoinfo=wifi.getConnectionInfo();returninfo.getMacAddress();}

3、获取手机移动运营商

/***需要加入权限<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>*/publicStringgetProvidersName(){StringProvidersName=null;StringIMSI=telephonyManager.getSubscriberId();//IMSI号前面3位460是国家,紧接着后面2位000207是中国移动,01是中国联通,03是中国电信。if(IMSI.startsWith("46000")||IMSI.startsWith("46002")||IMSI.startsWith("46007")){ProvidersName="中国移动";}elseif(IMSI.startsWith("46001")){ProvidersName="中国联通";}elseif(IMSI.startsWith("46003")){ProvidersName="中国电信";}returnProvidersName;}

4、获取手机接入点名称

publicstaticStringgetApnType(Contextcontext){Stringapntype="nomatch";try{Cursorc=context.getContentResolver().query(PREFERRED_APN_URI,null,null,null,null);c.moveToFirst();returnc.getString(c.getColumnIndex("apn"));}catch(Exceptione){e.printStackTrace();}returnapntype;}

5、Android获得UA信息

/***Android获得UA信息**@paramctx*@return*/publicstaticStringgetUserAgentString(Contextctx){WebViewwebview;webview=newWebView(ctx);webview.layout(0,0,0,0);WebSettingssettings=webview.getSettings();Stringua=settings.getUserAgentString();Log.i("UA",ua);returnua;}

6、Wifi状态切换

/***Wifi状态切换*/publicvoidtoggleWiFi(){WifiManagerwm=(WifiManager)MainActivity.this.getSystemService(Context.WIFI_SERVICE);wm.setWifiEnabled(!wm.isWifiEnabled());//设置为false时,点击关闭}

7、通过反射 切换移动数据

/***通过反射切换移动数据*注意相关权限添加*/privatevoidswitchMobileData(){Object[]arg=null;try{booleanisMobileDataEnable=invokeMethod("getMobileDataEnabled",arg);//获取移动数据状态if(!isMobileDataEnable){invokeBooleanArgMethod("setMobileDataEnabled",true);//开启移动数据}else{invokeBooleanArgMethod("setMobileDataEnabled",false);//关闭移动数据}}catch(Exceptione){e.printStackTrace();}}publicbooleaninvokeMethod(StringmethodName,Object[]arg)throwsException{ConnectivityManagermConnectivityManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);ClassownerClass=mConnectivityManager.getClass();Class[]argsClass=null;if(arg!=null){argsClass=newClass[1];argsClass[0]=arg.getClass();}Methodmethod=ownerClass.getMethod(methodName,argsClass);BooleanisOpen=(Boolean)method.invoke(mConnectivityManager,arg);returnisOpen;}publicObjectinvokeBooleanArgMethod(StringmethodName,booleanvalue)throwsException{ConnectivityManagermConnectivityManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);ClassownerClass=mConnectivityManager.getClass();Class[]argsClass=newClass[1];argsClass[0]=boolean.class;Methodmethod=ownerClass.getMethod(methodName,argsClass);returnmethod.invoke(mConnectivityManager,value);}

8、Android获取屏幕密度

//获取屏幕密度(方法1)intscreenWidth=getWindowManager().getDefaultDisplay().getWidth();//屏幕宽(像素,如:480px)intscreenHeight=getWindowManager().getDefaultDisplay().getHeight();//屏幕高(像素,如:800p)Log.e(TAG+"getDefaultDisplay","screenWidth="+screenWidth+";screenHeight="+screenHeight);//获取屏幕密度(方法2)DisplayMetricsdm=newDisplayMetrics();dm=getResources().getDisplayMetrics();floatdensity=dm.density;//屏幕密度(像素比例:0.75/1.0/1.5/2.0)intdensityDPI=dm.densityDpi;//屏幕密度(每寸像素:120/160/240/320)floatxdpi=dm.xdpi;floatydpi=dm.ydpi;Log.e(TAG+"DisplayMetrics","xdpi="+xdpi+";ydpi="+ydpi);Log.e(TAG+"DisplayMetrics","density="+density+";densityDPI="+densityDPI);screenWidth=dm.widthPixels;//屏幕宽(像素,如:480px)screenHeight=dm.heightPixels;//屏幕高(像素,如:800px)Log.e(TAG+"DisplayMetrics","screenWidth="+screenWidth+";screenHeight="+screenHeight);//获取屏幕密度(方法3)dm=newDisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);density=dm.density;//屏幕密度(像素比例:0.75/1.0/1.5/2.0)densityDPI=dm.densityDpi;//屏幕密度(每寸像素:120/160/240/320)xdpi=dm.xdpi;ydpi=dm.ydpi;Log.e(TAG+"DisplayMetrics","xdpi="+xdpi+";ydpi="+ydpi);Log.e(TAG+"DisplayMetrics","density="+density+";densityDPI="+densityDPI);intscreenWidthDip=dm.widthPixels;//屏幕宽(dip,如:320dip)intscreenHeightDip=dm.heightPixels;//屏幕宽(dip,如:533dip)Log.e(TAG+"DisplayMetrics","screenWidthDip="+screenWidthDip+";screenHeightDip="+screenHeightDip);screenWidth=(int)(dm.widthPixels*density+0.5f);//屏幕宽(px,如:480px)screenHeight=(int)(dm.heightPixels*density+0.5f);//屏幕高(px,如:800px)Log.e(TAG+"DisplayMetrics","screenWidth="+screenWidth+";screenHeight="+screenHeight);

9.判断手机是否飞行模式

publicstaticbooleangetAirplaneMode(Contextcontext){intisAirplaneMode=Settings.System.getInt(context.getContentResolver(),Settings.System.AIRPLANE_MODE_ON,0);return(isAirplaneMode==1)?true:false;

10.设置手机飞行模式

/***设置手机飞行模式*@paramcontext*@paramenablingtrue:设置为飞行模式false:取消飞行模式*/publicstaticvoidsetAirplaneModeOn(Contextcontext,booleanenabling){Settings.System.putInt(context.getContentResolver(),Settings.System.AIRPLANE_MODE_ON,enabling?1:0);Intentintent=newIntent(Intent.ACTION_AIRPLANE_MODE_CHANGED);intent.putExtra("state",enabling);context.sendBroadcast(intent);}

11.亮度控制

//------------省电亮度调节-------------------publicstaticvoidsetBrightness(Activityactivity,intbrightness){WindowManager.LayoutParamslp=activity.getWindow().getAttributes();lp.screenBrightness=Float.valueOf(brightness)*(1f/255f);//Log.d("lxy","setlp.screenBrightness=="+lp.screenBrightness);activity.getWindow().setAttributes(lp);//saveContentResolverresolver=activity.getContentResolver();saveBrightness(resolver,brightness);}publicstaticvoidsaveBrightness(ContentResolverresolver,intbrightness){Uriuri=android.provider.Settings.System.getUriFor("screen_brightness");android.provider.Settings.System.putInt(resolver,"screen_brightness",brightness);resolver.notifyChange(uri,null);}publicstaticintgetScreenBrightness(Activityactivity){intnowBrightnessValue=0;ContentResolverresolver=activity.getContentResolver();try{nowBrightnessValue=android.provider.Settings.System.getInt(resolver,Settings.System.SCREEN_BRIGHTNESS);}catch(Exceptione){e.printStackTrace();}returnnowBrightnessValue;}/***停止自动亮度调节*/publicstaticvoidstopAutoBrightness(Activityactivity){Settings.System.putInt(activity.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE,Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);}/***开启亮度自动调节**@paramactivity*/publicstaticvoidstartAutoBrightness(Activityactivity){Settings.System.putInt(activity.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE,Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);}/***判断是否开启了自动亮度调节*/publicstaticbooleanisAutoBrightness(ContentResolveraContentResolver){booleanautomicBrightness=false;try{automicBrightness=Settings.System.getInt(aContentResolver,Settings.System.SCREEN_BRIGHTNESS_MODE)==Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;}catch(SettingNotFoundExceptione){e.printStackTrace();}returnautomicBrightness;}




















更多相关文章

  1. Android中获取屏幕的宽和高
  2. android点滴4
  3. android和js之间的简单交互
  4. android中GPS信息的获取
  5. 【按键】灭屏后瞬间按返回键,可以点亮屏幕
  6. android关于获取手机唯一码的组合文章
  7. 通话距离感应实现源码
  8. android 获得屏幕宽度 高度
  9. android Intent打开各种类型文件((PDF、word、excel、ppt、chm)

随机推荐

  1. Android(安卓)ViewPager多页面滑动切换以
  2. Android(安卓)NDK开发之旅1--NDK介绍
  3. [Android官方开发者博客.翻译]Android的H
  4. 进度条与拖动条的使用学习
  5. android SQLite的使用
  6. Android(安卓)动态替换 Manifest.xml中的
  7. [转]Android进程管理
  8. Android 图片侧滑展示RecyclerView简单实
  9. android的TableLayout布局界面元素填满整
  10. [转]Android EditView属性