package com.zms.getdeviceinfo;import android.app.ActivityManager;import android.content.Context;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.os.Build;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.telephony.TelephonyManager;import android.text.format.Formatter;import android.util.DisplayMetrics;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.util.TimeZone;public class Main extends ActionBarActivity { private TextView tvInfo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tvInfo = (TextView) findViewById(R.id.tvInfo); tvInfo.setText(getBuildInfo(0) + getDisplayInfo(0) + getTelephonyState(0) + getTimeZoneInfo() + getHardwareInfo(0)); } /** * @param type 0-All,1-Model,2-VersionRelease,Other-Error. * @return String */ private String getBuildInfo(int type) { String model = Build.MODEL; // 型号 String versionRelease = Build.VERSION.RELEASE; String versionSDK = Build.VERSION.SDK; String versionIncremental = Build.VERSION.INCREMENTAL; String brand = Build.BRAND; String id = Build.ID; String manufacturer = Build.MANUFACTURER; String hardware = Build.HARDWARE; String product = Build.PRODUCT; String cpuABI = Build.CPU_ABI; String cpuABI2 = Build.CPU_ABI2; String fingerPrint = Build.FINGERPRINT; String board = Build.BOARD; String serial = Build.SERIAL; String user = Build.USER; if (type == 0) { return "Model:" + model + "\nVersionRelease:" + versionRelease + "\nVersionSDK:" + versionSDK + "\nVersionIncremental:" + versionIncremental + "\nBrand:" + brand + "\nID:" + id + "\nManufacturer:" + manufacturer + "\nHardware:" + hardware + "\nProduct:" + product + "\nCpuABI:" + cpuABI + "\nCpuABI2:" + cpuABI2 + "\nFingerPrint:" + fingerPrint + "\nBoard:" + board + "\nSerial:" + serial + "\nUser:" + user + "\n"; } else if (type == 1) { return "Model" + model + "\n"; } else if (type == 2) { return "VersionRelease:" + versionRelease + "\n"; } else { return "[getBuildInfo Err]"; } } private String getHardwareInfo(int type) { WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); String macAddress = wifiInfo.getMacAddress(); String strCPU = ""; String[] cpuInfo = {"", ""}; //1-cpu型号 //2-cpu频率 String[] arrayOfStringCPU; try { FileReader fileReader = new FileReader("/proc/cpuinfo"); BufferedReader localBufferedReader = new BufferedReader(fileReader, 8192); strCPU = localBufferedReader.readLine(); arrayOfStringCPU = strCPU.split("\\s+"); for (int i = 2; i < arrayOfStringCPU.length; i++) { cpuInfo[0] = cpuInfo[0] + arrayOfStringCPU[i] + " "; } strCPU = localBufferedReader.readLine(); arrayOfStringCPU = strCPU.split("\\s+"); cpuInfo[1] += arrayOfStringCPU[2]; localBufferedReader.close(); } catch (IOException e) { e.printStackTrace(); } // adb shell;cat /proc/meminfo ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo(); ActivityManager activityManager = (ActivityManager) this.getSystemService( Context.ACTIVITY_SERVICE); activityManager.getMemoryInfo(memoryInfo); long mTotalMem = memoryInfo.totalMem;//0; long mAvailMem = memoryInfo.availMem; /* String strMemory; String[] arrayOfStringMemory; try { FileReader localFileReader = new FileReader("/proc/meminfo"); BufferedReader localBufferedReader = new BufferedReader(localFileReader, 8192); strMemory = localBufferedReader.readLine(); arrayOfStringMemory = strMemory.split("\\s+"); mTotalMem = Integer.valueOf(arrayOfStringMemory[1]).intValue() * 1024; localBufferedReader.close(); } catch (IOException e) { e.printStackTrace(); } */ String totalMemory = Formatter.formatFileSize(this, mTotalMem); String availMemory = Formatter.formatFileSize(this, mAvailMem); if (type == 0) { return "MacAddress:" + macAddress + "\nCpuModel:" + cpuInfo[0] + "\nCpuClock:" + cpuInfo[1] + "\nTotalMemory:" + totalMemory + "\nAvailableMemory:" + availMemory + "\n"; } else { return ""; } } /** * @param type 0-All,1-DeviceId,2-SubscriberId,3-PhoneNumber,Other-Error. * @return String */ private String getTelephonyState(int type) { TelephonyManager telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); String deviceId = telephonyManager.getDeviceId(); String subscriberId = telephonyManager.getSubscriberId(); String phoneNumber = telephonyManager.getLine1Number(); if (type == 0) { return "DeviceId:" + deviceId + "\nSubscriberId:" + subscriberId + "\nPhoneNumber:" + phoneNumber + "\n"; } else if (type == 1) { return "DeviceId:" + deviceId + "\n"; } else if (type == 2) { return "SubscriberId" + subscriberId + "\n"; } else if (type == 3) { return "PhoneNumber:" + phoneNumber + "\n"; } else { return "[getTelephonyState Err]"; } } /** * @param type 0-All,1-ScreenHeight,2-ScreenWidth,Other-Error. * @return String */ private String getDisplayInfo(int type) { DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int screenHeight = displayMetrics.heightPixels; int screenWidth = displayMetrics.widthPixels; if (type == 0) { return "ScreenHeight:" + screenHeight + "\nScreenWidth:" + screenWidth + "\n"; } else if (type == 1) { return "ScreenHeight:" + screenHeight + "\n"; } else if (type == 2) { return "ScreenWidth:" + screenWidth + "\n"; } else { return "[getTelephonyState Err]"; } } private String getTimeZoneInfo() { TimeZone timeZone = TimeZone.getDefault(); return "TimeZone:" + timeZone.toString() + "\n"; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}
详细解决方案
Android获取Build跟内存,分辨率等信息
热度:94 发布时间:2016-04-28 03:04:08.0
相关解决方案
- android 读取byte[]中的元素解决方案
- android 标题栏兑现方式
- android 中Activity向BroadcastReceiver发送数据,该怎么解决
- Android 4.0 为什么模拟器老是提示小弟我谷歌拼音输入法已停止
- android:getSharedPreferences() 这是哪个类的方法解决思路
- android 怎么判断一个程序是否联网
- android RadioButton如何设置默认选中
- \nbproject\build-impl.xml:332: Preverification failed with error code 1. 异常
- android 怎么重新设置锚点
- android 图片对象获取的有关问题
- android 关于服务连接的疑义
- 请问ant build.xml中怎么把properties文件打入jar包
- android 怎么实现对view的放大和缩小
- android ID,该如何处理
- 准备复习2-3个月,看java+android,请问有经验者,怎么看效果最好》
- android UI线程与AsyncTask的有关问题
- android(java) 中文乱码的有关问题
- Build path specifies execution environment J2SE-1.4 异常
- VS, build 与 publish有什么区别?解决办法
- 项目“H:\Program Files\Microsoft\PetShop\Pre-Build\Pre-Build.vcproj”所需的应用程序未安装。确保已解决思路
- Vista+Visual Studio.net 2003+Symbian SDK9.2,输入abld build wins udeb命令出现异常
- 新手请问:abld build wins udeb后出现异常
- ubuntu9.04上安装mic2 出错 (python setup.py build)
- ubuntu9.04下安装mic2 出错 (python setup.py build),该如何解决
- 如何在bat中对New Build Window Wizard进行设置
- android 动态设立控件高度
- Android test project 编译方法
- android 4.03启动出错,显示"Encryption Unsuccessful"该如何解决
- Android 下面的listView的动态效果怎么实现的?求源代码,多谢
- Android?Palm?Symbian?Windows Mobile?学哪个有“钱图”?解决方案