Determine the mobile phone model and cpu Model
Determine the mobile phone model:
private boolean isUnusualPhone(){try {Class
cl = Class.forName("android.os.SystemProperties");Object invoker = cl.newInstance();Method m = cl.getMethod("get", new Class[] { String.class,String.class });Object result = m.invoke(invoker, new Object[] {"gsm.version.baseband", "no message" });return ((String) result).equals("I9250XXLJ1") || Build.MODEL.equals("MI 3");} catch (Exception e) {return true;}}
Determine the mobile phone cpu model:
// android 2.3 for arm v5 yanqingpublic boolean hasCompatibleCPU() {// If already checked return cached resultString CPU_ABI = android.os.Build.CPU_ABI;String CPU_ABI2 = "none";if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) { // CPU_ABI2// since// 2.2try {CPU_ABI2 = (String) android.os.Build.class.getDeclaredField("CPU_ABI2").get(null);} catch (Exception e) {return false;}}if (CPU_ABI.equals("armeabi-v7a") || CPU_ABI2.equals("armeabi-v7a")) {return true;}try {FileReader fileReader = new FileReader("/proc/cpuinfo");BufferedReader br = new BufferedReader(fileReader);String line;while ((line = br.readLine()) != null) {if (line.contains("ARMv7")) {return true;}}fileReader.close();} catch (IOException ex) {ex.printStackTrace();return false;}return false;}