Android獲取和判斷當前手機狀態和信息
判斷用戶是否開啟某個服務
public static boolean serviceIsStart(Context cont, String className) { ActivityManager mActivityManager = (ActivityManager) cont .getSystemService(cont.ACTIVITY_SERVICE); List<ActivityManager.RunningServiceInfo> mServiceList = mActivityManager .getRunningServices(30); for (int i = 0; i < mServiceList.size(); i++) { if (className.equals(mServiceList.get(i).service.getClassName())) { return true; } } return false; }
判斷是否安裝了某個軟件
public static boolean isInstall(Context cont, String packName) { PackageManager packageManager = cont.getPackageManager(); List<PackageInfo> list = packageManager .getInstalledPackages(PackageManager.GET_PERMISSIONS); for (PackageInfo packageInfo : list) { if (packageInfo.packageName.equals(packName)) { return true; } } return false; }
獲取手機串號唯一標示
public static String getMIEI(Context context) { String MIEI; TelephonyManager telephonemanage = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); try { MIEI = telephonemanage.getDeviceId(); return MIEI; } catch (Exception e) { Log.i("error", e.getMessage()); return null; } }
獲取版本
public static int getVersionCode(Context context) throws Exception { PackageManager packageManager = context.getPackageManager(); PackageInfo packInfo = packageManager.getPackageInfo( context.getPackageName(), 0); int version = packInfo.versionCode; return version; }
獲取手機內所有應用
public static List<PackageInfo> getAllApps(Context context) { List<PackageInfo> apps = new ArrayList<PackageInfo>(); PackageManager pManager = context.getPackageManager(); // 獲取手機內所有應用 List<PackageInfo> paklist = pManager.getInstalledPackages(0); for (int i = 0; i < paklist.size(); i++) { PackageInfo pak = (PackageInfo) paklist.get(i); // 判斷是否為非系統預裝的應用程序 if ((pak.applicationInfo.flags & pak.applicationInfo.FLAG_SYSTEM) <= 0) { // customs applications apps.add(pak); } } return apps; }
通過包名獲取Apk名字
public static String getApkName(Context context, String packeName) { PackageManager pManager = context.getPackageManager(); List<PackageInfo> appList = getAllApps(context); for (int i = 0; i < appList.size(); i++) { if (appList.get(i).packageName.equals(packeName)) { return pManager.getApplicationLabel( appList.get(i).applicationInfo).toString(); } } return null; }
判斷手機GPS是否開啟
<span style="white-space:pre"> </span>public static boolean gpsIsOpen(Context context) { LocationManager alm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); if (alm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) { return true; } return false; }
判斷是手機品牌
public static boolean isHTC() { String MODEL = android.os.Build.MODEL; if (MODEL.contains("HTC")) { return true; } else return false; }
設置手機系統亮度
public static void setSystemLight(Activity activity, int light) { ContentResolver cr = activity.getContentResolver(); Settings.System.putInt(cr, "screen_brightness", light); Window window = activity.getWindow(); LayoutParams attributes = window.getAttributes(); float flevel = light; attributes.screenBrightness = flevel / 255; float x = attributes.screenBrightness; activity.getWindow().setAttributes(attributes); }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!