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
相关解决方案
- eclipse 提醒 configure build path
- myeclipse5.5建立J2ME项目的时候提示“errors during build”异常
- android 读取byte[]中的元素解决方案
- android 标题栏兑现方式
- android 中Activity向BroadcastReceiver发送数据,该怎么解决
- Android 4.0 为什么模拟器老是提示小弟我谷歌拼音输入法已停止
- android:getSharedPreferences() 这是哪个类的方法解决思路
- android 怎么判断一个程序是否联网
- android 大量数据按周分组,该如何解决
- android RadioButton如何设置默认选中
- \nbproject\build-impl.xml:332: Preverification failed with error code 1. 异常
- ksoap2-android-这个包,连接webService怎么设置超时
- android 怎么重新设置锚点
- android UI界面设计解决方案
- android 图片对象获取的有关问题
- android 怎么调用淘宝支付宝接口
- Android 沿袭InputMethodService自定义输入法
- android 关于服务连接的疑义
- android 两个activity如何通信
- 请问ant build.xml中怎么把properties文件打入jar包
- android 怎么实现对view的放大和缩小
- android 教程解决方法
- android ID,该如何处理
- 准备复习2-3个月,看java+android,请问有经验者,怎么看效果最好》
- android UI线程与AsyncTask的有关问题
- android(java)中的java.net能不能和c#的system.net.sockets进行tcp通信,该如何解决
- android ListView 中的onItemClick Intent 没法跳转
- android(java) 中文乱码的有关问题
- Build path specifies execution environment J2SE-1.4 异常
- c#c++,android,ios(iphone),php,java视屏课程 散分