Android 系统工具类
2024-10-10 17:57:32
系统工具类
public class systemUtil { //隐藏ipad底部虚拟按键栏 @RequiresApi(api = Build.VERSION_CODES.KITKAT) public static void closeBottomBar(Activity activity){ Window _window = activity.getWindow(); WindowManager.LayoutParams params = _window.getAttributes(); params.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION|View.SYSTEM_UI_FLAG_IMMERSIVE; _window.setAttributes(params); } //不自动弹出软键盘 public static void softInputMode(Activity activity){ activity.getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); } //保持屏幕常亮 public static void screenLightUp(Activity activity){ activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } //获取屏幕分辨率 public static int[] defaultDisplay(Activity activity){ int[] pixels = new int[2]; DisplayMetrics dm = new DisplayMetrics(); activity.getWindowManager().getDefaultDisplay().getMetrics(dm); pixels[0]=dm.widthPixels; pixels[1]=dm.heightPixels; return pixels; } //获取Android系统版本 public static String getSystemVersion() { return android.os.Build.VERSION.RELEASE; } //获取设备机型 public static String getSystemModel() { return android.os.Build.MODEL; } //获取IMEI识别号 //所需权限 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> @SuppressLint("MissingPermission") public static String getIMEI(Activity activity) { //6.0以上的系统动态添加权限 if (ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.READ_PHONE_STATE},1); } TelephonyManager tm = (TelephonyManager) activity.getSystemService(Activity.TELEPHONY_SERVICE); return tm.getDeviceId(); } //获取系统当前语言 public static String getSystemLanguage() { return Locale.getDefault().getLanguage(); } //获取设备电量 @TargetApi(Build.VERSION_CODES.LOLLIPOP) public static int getBattery(Context context){ BatteryManager batteryManager = (BatteryManager)context.getSystemService(BATTERY_SERVICE); return batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY); } //获取设备内存可用大小(GB) public static String getRomAvailableSize(Context context) { File path = Environment.getDataDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSize(); long availableBlocks = stat.getAvailableBlocks(); return Formatter.formatFileSize(context, blockSize * availableBlocks); } //获取设备内存可用的总量大小(GB) public static String getRomTotalSize(Context context) { File path = Environment.getDataDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSize(); long totalBlocks = stat.getBlockCount(); return Formatter.formatFileSize(context, blockSize * totalBlocks); } //获得SD卡可用总量大小 public static String getSDTotalSize(Context context) { File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSize(); long totalBlocks = stat.getBlockCount(); return Formatter.formatFileSize(context, blockSize * totalBlocks); } //获得sd卡可用大小 private String getSDAvailableSize(Context context) { File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSize(); long availableBlocks = stat.getAvailableBlocks(); return Formatter.formatFileSize(context, blockSize * availableBlocks); } //重启设备 private void restartDevices() { String cmd = "su -c reboot"; try { Runtime.getRuntime().exec(cmd); } catch (IOException e) { Log.i("restart","权限不足"); } } }
系统相关权限
//写入外部存储 android.permission.WRITE_EXTERNAL_STORAGE,允许写入外部存储 //读取外部存储 android.permission.READ_EXTERNAL_STORAGE,允许读取外部存储 //读取系统日志 android.permission.READ_LOGS,读取系统底层日志 //读取短信内容 android.permission.READ_SMS,读取短信内容 //振动 android.permission.VIBRATE,允许振动 //重启设备 android.permission.REBOOT,允许程序重新启动设备 //安装应用程序 android.permission.INSTALL_PACKAGES,允许程序安装应用 //修改声音 android.permission.MODIFY_AUDIO_SETTINGS,修改声音设置信息 //录音 android.permission.RECORD_AUDIO,录制声音通过手机或耳机的麦克 //使用闪光灯 android.permission.FLASHLIGHT,允许访问闪光灯 //访问网络 android.permission.INTERNET,访问网络连接,可能产生GPRS流量 //改变wifi状态 android.permission.CHANGE_WIFI_STATE,打开wifi,改变wifi状态 //获取WiFi状态 android.permission.ACCESS_WIFI_STATE,获取当前WiFi接入的状态以及WLAN热点的信息 //获取网络状态 android.permission.ACCESS_NETWORK_STATE,获取网络信息状态,如当前的网络连接是否有效 //拍照权限 android.permission.CAMERA,允许访问摄像头进行拍照 //使用蓝牙 android.permission.BLUETOOTH,允许程序连接配对过的蓝牙设备 //电池状态 android.permission.BATTERY_STATS,允许应用程序获取电池状态的权限
最新文章
- 十种MYSQL显错注入原理讲解(一)
- CF715C:Digit Tree
- C# Double保留小数点后面位数
- c#扩展方法的理解(二:接口)
- c# float和double的“坑”
- Delphi XE5 android toast
- LPC1768外部中断与GPIO中断
- (@WhiteTaken)设计模式学习——组合模式
- 为何我会喜欢封闭的apple?
- 谷歌chrome浏览器vue调试工具vue-devtools的安装
- oracle中日期类型 to_date 和to_timestamp什么区别啊?
- oracle12 安装
- PHP替换指定字符串
- cocos JS for循环让精灵从屏幕中间往两边排列散开
- vim的简单使用
- 切换JDK版本时修改JAVA_HOME环境变量不生效(转)
- Thinkphp分布式数据库连接代码分析
- 给JSON中put的value=null时,这对key=value会被隐藏掉。
- (线段树模板)A Simple Problem with Integers --POJ--3468
- Hbase 学习(一) hbase配置文件同步
热门文章
- LabVIEW(十五):右键菜单添加创建VI模版
- ubuntu root默认密码(初始密码)
- LeetCode: 106_Construct Binary Tree from Inorder and Postorder Traversal | 根据中序和后序遍历构建二叉树 | Medium
- python的数据驱动
- [EXP]Jenkins 2.150.2 - Remote Command Execution (Metasploit)
- SQL Server性能优化(14)索引碎片
- 2018.4.25-ml笔记(梯度下降)
- 一个电脑的重装到java开发环境安装配置的全过程
- java反转链表
- Python知识梳理