Android获取各种设备的状态

WIFI

  获取WIFI状态

    WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);

    if(wifiManager != null){

      int wifiState = wifiManager.getWifiState();

    }

  附:Wifi状态有以下几种:(括号内为所对应的的int值)

  1. wifiManager.WIFI_STATE_DISABLED (1)

  2. wifiManager..WIFI_STATE_ENABLED (3)

  3. wifiManager..WIFI_STATE_DISABLING (0)

  4 wifiManager..WIFI_STATE_ENABLING  (2)

  设置wifi状态

    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

    if(wifiManager == null){

      return;

    }

    int wifiApState = wifiManager.getWifiApState();  //获取wifi AP状态

    if((boolean值 && wifiApState == wifiManager.WIFI_AP_STATE_ENABLING || wifiApState == wifiManager.WIFI_AP_STATE_ENABLED){

      wifiManager.setWifiApEnabled(null,false);

    }

    wifiManager.setWifiEnabled(boolean值);

    俩处boolean值应相同

Bluetooth

蓝牙有待后续补充

GPS

  获取GPS状态

    ContentResolver resolver = context.ContextResolver();

    Boolean on = Settings.Secure.isLocationProviderEnabled(resolver, LocationManager.GPS_PROVIDER);

    true为开启状态

  设置GPS状态:

    Settings..Secure.setLocationProviderEnabled(resolver,LocationManager.GPS_PROVIDER,boolean值);

    true为开启状态

SYNC(同步)

 获取当前系统同步状态

    ContentResolver resolver = context.ContextResolver();

    Boolean on = resolver.getMasterSyncAutomatically();

    ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

设置同步

    ContentResolver.setMasterSyncAutomatically(boolean值);

AirplaneMode(飞行模式)

  获取系统当前飞行模式状态

    ContentResolver resolver = context.ContextResolver();

    boolean on = Settings.System.getInt(context.getContextResolver(),Settings.System.AIRPLANE_MODE_ON,0) == 1 ? true : false;

  设置飞行模式:

    Settings.System.putInt(context.getContentResolver(),Settings.System.AIRPLANE_MODE_ON,boolean值 ? 1 : 0);

    Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);

    intent.putExtra("state",boolean值);

    context.sendBroadcast(intent);

  俩个boolean值应该一致;

自动旋转屏幕

  获取系统当前自动旋屏设置

    ContentResolver resolver = context.ContextResolver();

    boolean on = Settings.System.getInt(context.getContResolver(),Settings.System.ACCELEROMETER_ROTATION) ==1 ? true : false;

  设置自动旋屏

    ContentResolver resolver = context.ContextResolver();

    Uri uri = Settings.System.getUriFor("accelerometer_rotation");

    Settings.System.putInt(resolver,"accelerometer_rotation",boolean值 ? 1 :0);

    resolver.notifyChange(uri,null);

静音模式

  获取静音模式

  public int getMuteMode(Context context){

    AudioManager audioManager = (AudioManager)context.getSystmService(Context.AUDIO_SERVICE);

    if(audioManager.getRingerMode == AudioManager.RINGER_MODE_SILENT){   //静音

      return 0;

    }else if(audioManager.getRingerMode == AudioManager.RINGER_MODE_VIBRATE){//振动

      return 1;

    } elsse {

      retrn 2;

    }

  }

  设置静音模式

  public void setMute(Context context){

   AudioManager audioManager = (AudioManager)context.getSystmService(Context.AUDIO_SERVICE);

    switch(getMuteMode(context){

      case 0:

        audioManager.stRingerMode(AudioManager.RINGER_MODE_VIBRATE); //振动模式

        break;

      case 1:

        audioManager.stRingerMode(AudioManager.RINGER_MODE_NORMAL); //正常模式

        break;

      case 2:

        audioManager.stRingerMode(AudioManager.RINGER_MODE_SILENT); //静音模式

        break;

      default:

        audioManager.stRingerMode(AudioManager.RINGER_MODE_NORMAL); //正常模式

    }

  }

锁屏

  PowerManager pm = (PowerManager)context.getSystemService(context.POWER_SERVICE);

  pm.goToSleep(SystemClock.uptimeMillis());

时间: 2024-10-12 18:07:51

Android获取各种设备的状态的相关文章

android 获取手机设备品牌

在有些数据要获取手机设备是什么品牌,特别做一些适配的时候,好了就讲下怎样或者手机是什么品牌: String brand =android.os.Build.BRAND; 就这么简单!

Android 获取手机设备等的信息

获取手机设备型号等信息: 如图华为P6手机获取是手机设备信息值: 代码如下: tvStr = (TextView) findViewById(R.id.tv_titlebar); String phoneInfo = "Product: " + android.os.Build.PRODUCT + "\n"; phoneInfo += "CPU_ABI: " + android.os.Build.CPU_ABI + "\n";

Android获取当前设备屏幕信息(分辨率,密度以及物理尺寸)

要想知道屏幕的基本信息,就要先获取一个基本的类(DisplayMetics),这个对象存放着当前的窗口的一些通用信息,如显示大小,分辨率和字体等等. 如何获取DisplayMetics对象: DisplayMetrics display= new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(display);//将当前窗口的一些信息放在DisplayMetrics类中, 然后就可以通过dispalyMet

android -------- 获取手机设备信息

最近在开发中,需要用到一些系统信息,总结了一下 /** * Created by zhangqie on 2019/2/26 * Describe: 系统工具类 */ public class EquipmentUtil { /** * 获取当前手机系统语言. * * @return 返回当前系统语言.例如:当前设置的是“中文-中国”,则返回“zh-CN” */ public static String getSystemLanguage() { return Locale.getDefault

android获取USB设备的名称

1.注释内 .是三星设备可能不支持,需要更换的代码. 2.mUsbManager.是getSystemService(Context.USB_SERVICE)获的. 3. 从stackoverflow摘过来的.源地址找不到咧. protected static final int STD_USB_REQUEST_GET_DESCRIPTOR = 0x06;        // http://libusb.sourceforge.net/api-1.0/group__desc.html      

android获取SD卡的状态

/** 获取存储卡路径 */ File sdcardDir=Environment.getExternalStorageDirectory(); /** StatFs 看文件系统空间使用情况 */ StatFs statFs=new StatFs(sdcardDir.getPath()); /** Block 的 size*/ Long blockSize=statFs.getBlockSize(); /** 总 Block 数量 */ Long totalBlocks=statFs.getBl

Android -- 程序判断手机ROOT状态,获取ROOT权限

判断手机是否具有ROOT权限                                                            /** * 判断手机是否ROOT */ public boolean isRoot() { boolean root = false; try { if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exi

Android获取设备采用的时间制式(12小时制式或24小时制式)

/** * 获取设备采用的时间制式(12小时制式或者24小时制式) * 注意: * 在模拟器上获取的时间制式为空 */ private void getTime_12_24(Context context){ ContentResolver contentResolver = context.getContentResolver(); String time_12_24 = Settings.System.getString(contentResolver,Settings.System.TIM

java实现海康NVR/DVR设备工作状态获取

该功能需要到JNA的知识. 通过查阅海康设备网络SDK编程指南(DVR&NVR)可以知道海康SDK的调用方法都要同过如下过程: 虚线框的流程是可选部分,不会影响其他流程和模块的功能使用.具体的模块说明可以自行参考SDK开发文件. 主要功能代码: 测试例子,因此虚线部分功能不实现 1.初始化设备SDK:对整个网络SDK 系统的初始化,内存预分配等操作. 代码:HCNetSDK sdk = HCNetSDK.INSTANCE;    sdk.NET_DVR_Init();//返回booleaan值