Android系統(tǒng)工具類詳解
更新時(shí)間:2018年08月16日 11:52:14 作者:xixi襲陽
這篇文章主要為大家詳細(xì)介紹了Android系統(tǒng)工具類的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了Android系統(tǒng)工具類的具體代碼,供大家參考,具體內(nèi)容如下
系統(tǒng)工具類
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系統(tǒng)版本
public static String getSystemVersion() {
return android.os.Build.VERSION.RELEASE;
}
//獲取設(shè)備機(jī)型
public static String getSystemModel() {
return android.os.Build.MODEL;
}
//獲取IMEI識別號
//所需權(quán)限 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
@SuppressLint("MissingPermission")
public static String getIMEI(Activity activity) {
//6.0以上的系統(tǒng)動態(tài)添加權(quán)限
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();
}
//獲取系統(tǒng)當(dāng)前語言
public static String getSystemLanguage() {
return Locale.getDefault().getLanguage();
}
//獲取設(shè)備電量
@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);
}
//獲取設(shè)備內(nèi)存可用大小(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);
}
//獲取設(shè)備內(nèi)存可用的總量大小(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);
}
//重啟設(shè)備
private void restartDevices() {
String cmd = "su -c reboot";
try {
Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
Log.i("restart","權(quán)限不足");
}
}
}
系統(tǒng)相關(guān)權(quán)限
//寫入外部存儲 android.permission.WRITE_EXTERNAL_STORAGE,允許寫入外部存儲 //讀取外部存儲 android.permission.READ_EXTERNAL_STORAGE,允許讀取外部存儲 //讀取系統(tǒng)日志 android.permission.READ_LOGS,讀取系統(tǒng)底層日志 //讀取短信內(nèi)容 android.permission.READ_SMS,讀取短信內(nèi)容 //振動 android.permission.VIBRATE,允許振動 //重啟設(shè)備 android.permission.REBOOT,允許程序重新啟動設(shè)備 //安裝應(yīng)用程序 android.permission.INSTALL_PACKAGES,允許程序安裝應(yīng)用 //修改聲音 android.permission.MODIFY_AUDIO_SETTINGS,修改聲音設(shè)置信息 //錄音 android.permission.RECORD_AUDIO,錄制聲音通過手機(jī)或耳機(jī)的麥克 //使用閃光燈 android.permission.FLASHLIGHT,允許訪問閃光燈 //訪問網(wǎng)絡(luò) android.permission.INTERNET,訪問網(wǎng)絡(luò)連接,可能產(chǎn)生GPRS流量 //改變wifi狀態(tài) android.permission.CHANGE_WIFI_STATE,打開wifi,改變wifi狀態(tài) //獲取WiFi狀態(tài) android.permission.ACCESS_WIFI_STATE,獲取當(dāng)前WiFi接入的狀態(tài)以及WLAN熱點(diǎn)的信息 //獲取網(wǎng)絡(luò)狀態(tài) android.permission.ACCESS_NETWORK_STATE,獲取網(wǎng)絡(luò)信息狀態(tài),如當(dāng)前的網(wǎng)絡(luò)連接是否有效 //拍照權(quán)限 android.permission.CAMERA,允許訪問攝像頭進(jìn)行拍照 //使用藍(lán)牙 android.permission.BLUETOOTH,允許程序連接配對過的藍(lán)牙設(shè)備 //電池狀態(tài) android.permission.BATTERY_STATS,允許應(yīng)用程序獲取電池狀態(tài)的權(quán)限
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Android系統(tǒng)添加Linux驅(qū)動
- Android實(shí)現(xiàn)EditText添加下劃線
- Android添加用戶組及自定義App權(quán)限的方法
- Android中多行文本末尾添加圖片排版問題的解決方法
- Android添加指紋解鎖功能的實(shí)現(xiàn)代碼
- Android實(shí)現(xiàn)添加商品到購物車動畫效果
- Android GridView仿微信添加多圖效果
- Android中recyclerView底部添加透明漸變效果
- Android GridView添加頭部問題的解決
- 詳解如何在Android Studio中添加RecyclerView-v7支持包
- Android百度地圖添加Marker失真問題的解決方案
- Android手機(jī)屏幕同步工具asm.jar
- Android中APK簽名工具之jarsigner和apksigner詳解
- 超實(shí)用的android網(wǎng)絡(luò)工具類
- Android編程實(shí)現(xiàn)將時(shí)間轉(zhuǎn)化成幾分鐘前、幾天前等形式的工具類
- Android系統(tǒng)添加自己寫的工具
相關(guān)文章
Android Kotlin 高階函數(shù)詳解及其在協(xié)程中的應(yīng)用小結(jié)
高階函數(shù)是 Kotlin 中的一個(gè)重要特性,它能夠?qū)⒑瘮?shù)作為一等公民(First-Class Citizen),使得代碼更加簡潔、靈活和可讀,本文給大家介紹Android Kotlin 高階函數(shù)詳解及其在協(xié)程中的應(yīng)用,感興趣的朋友一起看看吧2025-03-03
Android程序設(shè)計(jì)之AIDL實(shí)例詳解
這篇文章主要介紹了Android程序設(shè)計(jì)的AIDL,以一個(gè)完整實(shí)例的形式較為詳細(xì)的講述了AIDL的原理及實(shí)現(xiàn)方法,需要的朋友可以參考下2014-09-09
Android應(yīng)用動態(tài)修改主題的方法示例
今天小編就為大家分享一篇關(guān)于Android應(yīng)用動態(tài)修改主題的方法示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
Android getActivity()為空的問題解決辦法
這篇文章主要介紹了Android getActivity()為空的問題解決辦法的相關(guān)資料,導(dǎo)致apk空指針崩潰問題,很嚴(yán)重的問題,為了解決這問題,上網(wǎng)搜索了很多資料,需要的朋友可以參考下2017-07-07
Android利用屬性動畫實(shí)現(xiàn)優(yōu)酷菜單
這篇文章主要為大家詳細(xì)介紹了Android利用屬性動畫實(shí)現(xiàn)優(yōu)酷菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01

