Android獲取和判斷當前手機狀態和信息

jopen 9年前發布 | 4K 次閱讀 Java 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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!