To date, the cyanogenmod kernel does not contain the cyanogenmod keyword in System.getProperty("os.version"); This is something like 3.0.64-CM-g9d16c8a . Therefore, I wrote this function.
private boolean isCyanogenMod(PackageManager pm) { boolean isCyanogenMod = false; String version = System.getProperty("os.version"); BufferedReader reader = null; try { if (version.contains("cyanogenmod") || pm.hasSystemFeature("com.cyanogenmod.android")) { isCyanogenMod = true; } else { // This does not require root reader = new BufferedReader(new FileReader("/proc/version"), 256); version = reader.readLine(); if (version.contains("cyanogenmod")) { isCyanogenMod = true; } } } catch (Exception e) { e.printStackTrace(); } finally { if(reader != null) { try { reader.close(); } catch (IOException e) { } } } return isCyanogenMod; }
source share