Android 检测 手机硬件状态 的Utils
来源:互联网 发布:软件功能设计图 编辑:程序博客网 时间:2024/04/29 23:27
package com.cy.tools;import android.annotation.SuppressLint;import android.app.Activity;import android.bluetooth.BluetoothAdapter;import android.content.Context;import android.content.Intent;import android.content.pm.PackageManager;import android.hardware.Camera;import android.hardware.Camera.CameraInfo;import android.hardware.Camera.Parameters;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import android.hardware.SensorManager;import android.location.Criteria;import android.location.LocationManager;import android.media.AudioManager;import android.media.MediaRecorder;import android.net.wifi.WifiManager;import android.os.Build.VERSION;import android.os.Handler;import android.os.Vibrator;import android.widget.Toast;@SuppressLint({"NewApi"})public class CheckUtils{ public static final int CILI_FLAG = 2; public static final int JIASUDU_FLAG = 4; public static final int NO_CILI_FLAG = 5; public static final int NO_JIASUDU_FLAG = 7; public static final int NO_TUOLUOYI_FLAG = 6; public static final int TUOLUOYI_FLAG = 3; private static int currVolume = 0; /** 检测手电筒 */ public static boolean OpenLightOn(Context paramContext) { ((SensorManager)paramContext.getSystemService("sensor")); if (!paramContext.getPackageManager().hasSystemFeature("android.hardware.camera.flash")) return false; Camera localCamera = Camera.open(); Camera.Parameters localParameters = localCamera.getParameters(); localParameters.setFlashMode("torch"); localCamera.setParameters(localParameters); localCamera.startPreview(); try { Thread.sleep(1000L); localCamera.stopPreview(); localCamera.release(); if (localCamera != null) return true; } catch (InterruptedException localInterruptedException) { while (true) localInterruptedException.printStackTrace(); } return false; } /** 打开扬声器 */ public static boolean OpenSpeaker(Context paramContext) { try { AudioManager localAudioManager = (AudioManager)paramContext.getSystemService("audio"); currVolume = localAudioManager.getStreamVolume(0); if (!localAudioManager.isSpeakerphoneOn()) { localAudioManager.setSpeakerphoneOn(true); localAudioManager.setStreamVolume(0, localAudioManager.getStreamMaxVolume(0), 0); } return true; } catch (Exception localException) { localException.printStackTrace(); } return false; } /** 检测蓝牙 */ public static boolean bluetoothIsGood() { BluetoothAdapter localBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (!localBluetoothAdapter.isEnabled()) { boolean bool2 = localBluetoothAdapter.enable(); localBluetoothAdapter.disable(); return bool2; } boolean bool1 = localBluetoothAdapter.disable(); localBluetoothAdapter.enable(); return bool1; } /** 检测相机 */ private static boolean checkCameraFacing(int paramInt) { if (getSdkVersion() < 9); while (true) { return false; int i = Camera.getNumberOfCameras(); Camera.CameraInfo localCameraInfo = new Camera.CameraInfo(); for (int j = 0; j < i; j++) { Camera.getCameraInfo(j, localCameraInfo); if (paramInt == localCameraInfo.facing) return true; } } } /** 检测定位 */ public static boolean getLocation(Context paramContext) { LocationManager localLocationManager = (LocationManager)paramContext.getSystemService("location"); Criteria localCriteria = new Criteria(); localCriteria.setAccuracy(1); localCriteria.setAltitudeRequired(false); localCriteria.setBearingRequired(false); localCriteria.setCostAllowed(true); localCriteria.setPowerRequirement(1); String str = localLocationManager.getBestProvider(localCriteria, true); if (str == null); do return false; while (localLocationManager.getLastKnownLocation(str) == null); return true; } /** 获取sdk版本 */ public static int getSdkVersion() { return Build.VERSION.SDK_INT; } /** 检测后置相机 */ public static boolean hasBackFacingCamera() { return checkCameraFacing(0); } /** 检测前置相机 */ public static boolean hasFrontFacingCamera() { return checkCameraFacing(1); } /** 检测加速器 */ public static void isAccelerometer(Context paramContext, Handler paramHandler) { SensorManager localSensorManager = (SensorManager)paramContext.getSystemService("sensor"); Sensor localSensor = localSensorManager.getDefaultSensor(1); if (localSensor == null) { paramHandler.sendEmptyMessage(7); return; } localSensorManager.registerListener(new SensorEventListener(paramHandler) { public void onAccuracyChanged(Sensor paramSensor, int paramInt) { } public void onSensorChanged(SensorEvent paramSensorEvent) { CheckUtils.this.sendEmptyMessage(4); } } , localSensor, 3); } /** 检测磁感 */ public static void isCiliGood(Context paramContext, Handler paramHandler) { SensorManager localSensorManager = (SensorManager)paramContext.getSystemService("sensor"); Sensor localSensor = localSensorManager.getDefaultSensor(2); if (localSensor == null) { paramHandler.sendEmptyMessage(5); return; } localSensorManager.registerListener(new SensorEventListener(paramHandler) { public void onAccuracyChanged(Sensor paramSensor, int paramInt) { } public void onSensorChanged(SensorEvent paramSensorEvent) { CheckUtils.this.sendEmptyMessage(2); } } , localSensor, 3); } /** 检测陀螺仪 */ public static void isGyroscopeGood(Context paramContext, Handler paramHandler) { SensorManager localSensorManager = (SensorManager)paramContext.getSystemService("sensor"); Sensor localSensor = localSensorManager.getDefaultSensor(4); if (localSensor == null) { paramHandler.sendEmptyMessage(6); return; } localSensorManager.registerListener(new SensorEventListener(paramHandler) { public void onAccuracyChanged(Sensor paramSensor, int paramInt) { } public void onSensorChanged(SensorEvent paramSensorEvent) { CheckUtils.this.sendEmptyMessage(3); } } , localSensor, 3); } /** 检测扬声器 */ public static boolean isSpeakerGood(Context paramContext) { return OpenSpeaker(paramContext); } /** 检测振动器 */ public static boolean isVibratorGood(Context paramContext) { Vibrator localVibrator = (Vibrator)paramContext.getSystemService("vibrator"); localVibrator.vibrate(1000L); localVibrator.vibrate(new long[] { 100L, 10L, 100L, 1000L }, -1); return localVibrator.hasVibrator(); } /** 检测麦克风 */ public static boolean isMicrophoneGood(Context paramContext) { new MediaRecorder(); return paramContext.getPackageManager().hasSystemFeature("android.hardware.microphone"); } /** 打开GPS */ public static void openGPSSettings(Activity paramActivity) { if (((LocationManager)paramActivity.getSystemService("location")).isProviderEnabled("gps")) { Toast.makeText(paramActivity, "GPS模块正常", 0).show(); return; } Toast.makeText(paramActivity, "请开启GPS!", 0).show(); paramActivity.startActivityForResult(new Intent("android.settings.SECURITY_SETTINGS"), 0); } /** 检测听筒 */ public static boolean isTelephoneGood(Context paramContext) { new MediaRecorder(); AudioManager localAudioManager = (AudioManager)paramContext.getSystemService("audio"); localAudioManager.setMode(2); localAudioManager.setMode(0); return true; } /** 检测Wifi */ public static boolean isWifiIsGood(Context paramContext) { WifiManager localWifiManager = (WifiManager)paramContext.getSystemService("wifi"); if (!localWifiManager.isWifiEnabled()) { boolean bool2 = localWifiManager.setWifiEnabled(true); localWifiManager.setWifiEnabled(false); return bool2; } boolean bool1 = localWifiManager.setWifiEnabled(false); localWifiManager.setWifiEnabled(true); return bool1; } /** 关闭扬声器 */ public void CloseSpeaker(Context paramContext) { try { AudioManager localAudioManager = (AudioManager)paramContext.getSystemService("audio"); if ((localAudioManager != null) && (localAudioManager.isSpeakerphoneOn())) { localAudioManager.setSpeakerphoneOn(false); localAudioManager.setStreamVolume(0, currVolume, 0); } return; } catch (Exception localException) { localException.printStackTrace(); } }}
0 0
- Android 检测 手机硬件状态 的Utils
- Android 检测 手机硬件状态 的Utils
- android--检测手机网络状态
- 检测Linux硬件状态
- 检测Linux硬件状态
- 检测 Linux 硬件状态
- Android 入门篇检测手机打电话状态
- 用AFNetworking 检测 手机的网络状态
- 硬件支持:alsa-utils工具包的使用
- 硬件支持:alsa-utils工具包的使用
- 硬件支持:alsa-utils工具包的使用
- 硬件支持:alsa-utils工具包的使用 .
- android耳机状态的检测
- 获得android手机的硬件信息
- 【Android】获取手机的相关硬件信息
- 【Android】获取手机的相关硬件信息
- android 获取手机的一些硬件信息
- 获得android手机的硬件信息
- 1024 杭电 max plus
- cryptico.js使用技巧
- 【OpenSource】【RxJava】RxJava
- Git
- Handling unhandled exceptions and signals
- Android 检测 手机硬件状态 的Utils
- QT 控件基础
- 杭电1257 最少拦截系统
- How can I install mySQL on CentOS without being root/su?
- Light OJ 1214 - Large Division 【同余定理】
- 杭电1159Common Subsequence
- 清晰理解Objective-C元类
- c#快排算法
- 最长递增子序列问题