Android 常用的蓝牙,GPS,网络等状态检测方法汇总

本贴最后更新于 2384 天前,其中的信息可能已经物是人非

序言

记录 Android 的一些判断设备状态的方法。

1.判断网络是否可用

// 是否有可用网络 private boolean isNetworkConnected() { ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo network = cm.getActiveNetworkInfo(); if (network != null) { return network.isAvailable(); } return false; }

2.判断 wifi 是否可用

// Wifi是否可用 private boolean isWifiEnable() { WifiManager wifiManager = (WifiManager) mContext .getSystemService(Context.WIFI_SERVICE); return wifiManager.isWifiEnabled(); }

3.判断 GPS 是否可用

// Gps是否可用 private boolean isGpsEnable() { LocationManager locationManager = ((LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE)); return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); }

4.判断蓝牙是否可用

// 蓝牙是否可用 public static boolean isBluetoothEnabled() { BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (bluetoothAdapter != null) { return bluetoothAdapter.isEnabled(); } return false; }

5.判断是否有 SIM 卡

/** * 判断是否包含SIM卡 * * @return 状态 */ public static boolean ishasSimCard(Context context) { TelephonyManager telMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); int simState = telMgr.getSimState(); boolean result = true; switch (simState) { case TelephonyManager.SIM_STATE_ABSENT: result = false; // 没有SIM卡 break; case TelephonyManager.SIM_STATE_UNKNOWN: result = false; break; } Log.d(TAG, result ? "有SIM卡" : "无SIM卡"); return result; }

6.判断是否存在 SD 卡

// 是否存在SD卡 private boolean ExistSDCard() { if (android.os.Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOUNTED)) { return true; } else return false; }

7.判断屏幕是否点亮

//判断屏幕是否点亮 public static boolean isScreenOn(){ PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); boolean isScreenOn = pm.isScreenOn(); return isScreenOn; }

8.判断软键盘是否打开

//判断软键盘是否打开 public boolean isSoftShowing() { //获取当前屏幕内容的高度 int screenHeight = getWindow().getDecorView().getHeight(); //获取View可见区域的bottom Rect rect = new Rect(); getWindow().getDecorView().getWindowVisibleDisplayFrame(rect); return screenHeight - rect.bottom != 0; }

9.判断自动旋转屏幕是否打开

// 判断自动旋转屏幕是否打开 public boolean isAutoRotate(){ int screenchange = Settings.System.getInt(context.getContentResolver(), Settings.System.ACCELEROMETER_ROTATION); if (screenchange == 1) { return true; }else { return false; } }

10.判断是否在播放音频

// 判断是否在播放音频 public static boolean isMusicPlay(){ AudioManager audioManager = (AudioManager)getContext().getSystemService(Context.AUDIO_SERVICE); return audioManager.isMusicActive(); }
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    335 引用 • 324 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...