Android系统工具类详解
作者:xixi袭阳 发布时间:2023-07-12 22:11:57
标签:Android,系统工具类
本文实例为大家分享了Android系统工具类的具体代码,供大家参考,具体内容如下
系统工具类
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,允许应用程序获取电池状态的权限
来源:https://www.cnblogs.com/94xiyang/p/9428728.html


猜你喜欢
- 一、关于idea中Maven的位置idea自带一个maven,其路径大致如下C:/java/IntelliJ IDEA 2020.1/plu
- CountDownLatch在日常开发中经常会遇到需要在主线程中开启多个线程去并行执行任务,并且主线程需要等待所有子线程执行完毕后再进行汇总
- 上一集中我们说到需要用Java来制作一个知乎爬虫,那么这一次,我们就来研究一下如何使用代码获取到网页的内容。首先,没有HTML和CSS和JS
- 递归出现栈溢出stackoverflow递归是个不断回调方法的过程,使方法一遍遍的压入栈中,递归次数多了,栈满了也就溢出了。默认的栈大小是1
- 我的环境* JDK 1.8 * maven 3.6.0 * node环境1.为什么需要前后端项目开发时分离,部署时合并?
- 目录前言1、创建一个控制台应用程序2、编写测试代码并分析3、总结前言对于C#里面的Foreach学过 语言的人都知道怎么用,但是其原理相信很
- 很多C#的教材都会强调对象相等的概念。我们都知道,在C#的世界里存在两种等同性。一种是逻辑等同性:如果两个对象在逻辑上代表同样的值,则称他们
- 简单理解泛型泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。通俗点将就是“类型的变量
- 前言大家都知道Android Studio目前已经更新到2.0 Preview 6了,作为Google大力推崇的开发工具,相对于Eclips
- netty心跳机制示例,使用Netty实现心跳机制,使用netty4,IdleStateHandler 实现。Netty心跳机制,netty
- 一、简介什么是线程池?池的概念大家也许都有所听闻,池就是相当于一个容器,里面有许许多多的东西你可以即拿即用。java中有线程池、连接池等等。
- 从SpringMVC源码解析所用的例子,一个http://localhost:9090/web/hi?name=yang请求调用到下面的地方
- 一、代码实现创建窗口首先创建一个游戏窗体类GameFrame,继承至JFrame,用来显示在屏幕上(window的对象),每个游戏都有一个窗
- 本文实例讲述了C#编程实现QQ界面的方法。分享给大家供大家参考,具体如下:步骤:1.新建一个页面,假如说叫VerticalMenu2.把ht
- 发送者其实比较简单,需要做的就是首先确定往哪里发送,其次怎么让消息发送顺畅。我们就看一下具体的代码吧。首先调用start方法。完成各个类的初
- 用Linq从一个集合选取几列得到一个新的集合-可改列名
- 本文介绍了Android多渠道打包的方法步骤,分享给大家,具体如下:1.生成签名文件点击 Build -> Generate Sign
- 下载工具我想没有几个人不会用的吧,前段时间比较无聊,花了点时间用java写了个简单的http多线程下载程序,纯粹是无聊才写的,只实现了几个简
- 提到类型转换,首先要明确C#中的数据类型,主要分为值类型和引用类型:1.常用的值类型有:(struct)整型家族:int,byte,char
- 前言今天给大家带来一个国产SM4加密解密算法的java后端解决方案,代码完整,可以直接使用,希望给大家带来帮助,尤其是做政府系统的开发人员,