最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android 获取手机信息实例详解
时间:2017-03-03 编辑:简简单单 来源:一聚教程网
Android 获取手机信息
应用信息:包名、版本号、版本名,手机是否有Root权限
手机信息:手机屏幕宽和高、当前可用内存大小、总内存大小、IMEI号、IESI号、手机型号、手机品牌、手机MacAdd、CPU型号、CPU频率
开门见山,以下是Java代码,XML只有一个TextView显示信息。
代码如下 | 复制代码 |
packagecom.example.getphoneinfo;
importjava.io.BufferedReader; importjava.io.File; importjava.io.FileReader; importjava.io.IOException;
importandroid.app.Activity; importandroid.content.Context; importandroid.net.wifi.WifiInfo; importandroid.net.wifi.WifiManager; importandroid.os.Bundle; importandroid.os.Environment; importandroid.os.StatFs; importandroid.telephony.TelephonyManager; importandroid.text.format.Formatter; importandroid.view.Menu; importandroid.widget.TextView;
publicclassMainActivityextendsActivity {
TextView mPhoneInfo; @Override protectedvoidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
initView(); initData();
}
privatevoidinitData() { // TODO Auto-generated method stub getAvailMemory();// 获取手机可用内存大小 getTotalMemory();//获取总内存大小 getHeightAndWidth();//获取屏幕宽高 getInfo();//获取IMEI号,IESI号,手机型号 getMacAddress();//获取IMEI号,IESI号,手机型号 getCpuInfo();//手机CPU信息 getPackage();//获取软件包名,版本名,版本号 isRoot();//手机是否root String text = getHeightAndWidth() + "\n"+ getTotalMemory() + "\n"+ getAvailMemory() + "\n"+ getInfo() + "\n"+ getMacAddress() + "\n"+ getCpuInfo() + "\n"+ getPackage() + "\n"+ isRoot(); mPhoneInfo.setText(text);
}
/** * 获取软件包名,版本名,版本号 */ privateString getPackage(){ try{ String pkName =this.getPackageName(); String versionName =this.getPackageManager().getPackageInfo( pkName,0).versionName; intversionCode =this.getPackageManager() .getPackageInfo(pkName,0).versionCode; return"Package:"+ pkName +"\nversionName:"+ versionName +"\nversionCode:"+ versionCode; }catch(Exception e) { } returnnull; }
/** * 获取手机是否root信息 * @return */ privateString isRoot(){ String bool ="Root:false"; try{ if((!newFile("/system/bin/su").exists()) && (!newFile("/system/xbin/su").exists())){ bool ="Root:false"; }else{ bool ="Root:true"; } }catch(Exception e) { } returnbool; }
/** * 获取android当前可用内存大小 */ privateString getAvailMemory() {// 获取android当前可用内存大小 File path = Environment.getDataDirectory(); StatFs stat =newStatFs(path.getPath()); longblockSize = stat.getBlockSize(); longavailableBlocks = stat.getAvailableBlocks(); return"当前可用内存:"+ Formatter.formatFileSize(MainActivity.this, blockSize * availableBlocks); }
/** * 获得系统总内存 */ privateString getTotalMemory() { String str1 ="/proc/meminfo";// 系统内存信息文件 String str2; String[] arrayOfString; longinitial_memory =0; try{ FileReader localFileReader =newFileReader(str1); BufferedReader localBufferedReader =newBufferedReader( localFileReader,8192); str2 = localBufferedReader.readLine();// 读取meminfo第一行,系统总内存大小
arrayOfString = str2.split("\\s+"); initial_memory = Integer.valueOf(arrayOfString[1]).intValue() *1024;// 获得系统总内存,单位是KB,乘以1024转换为Byte localBufferedReader.close(); }catch(IOException e) { } return"总内存大小:"+ Formatter.formatFileSize(getBaseContext(), initial_memory);// Byte转换为KB或者MB,内存大小规格化 }
/** * 获得手机屏幕宽高 * @return */ publicString getHeightAndWidth(){ intwidth=getWindowManager().getDefaultDisplay().getWidth(); intheigth=getWindowManager().getDefaultDisplay().getHeight(); String str ="Width:"+ width+"\nHeight:"+heigth+""; returnstr; } /** * 获取IMEI号,IESI号,手机型号 */ privateString getInfo() { TelephonyManager mTm = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE); String imei = mTm.getDeviceId(); String imsi = mTm.getSubscriberId(); String mtype = android.os.Build.MODEL;// 手机型号 String mtyb= android.os.Build.BRAND;//手机品牌 String numer = mTm.getLine1Number();// 手机号码,有的可得,有的不可得 return"手机IMEI号:"+imei+"\n手机IESI号:"+imsi+"\n手机型号:"+mtype+"\n手机品牌:"+mtyb+"\n手机号码"+numer; } /** * 获取手机MAC地址 * 只有手机开启wifi才能获取到mac地址 */ privateString getMacAddress(){ String result =""; WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); result = wifiInfo.getMacAddress(); return"手机macAdd:"+ result; } /** * 手机CPU信息 */ privateString getCpuInfo() { String str1 ="/proc/cpuinfo"; String str2 =""; String[] cpuInfo = {"",""};//1-cpu型号 //2-cpu频率 String[] arrayOfString; try{ FileReader fr =newFileReader(str1); BufferedReader localBufferedReader =newBufferedReader(fr,8192); str2 = localBufferedReader.readLine(); arrayOfString = str2.split("\\s+"); for(inti =2; i < arrayOfString.length; i++) { cpuInfo[0] = cpuInfo[0] + arrayOfString[i] +" "; } str2 = localBufferedReader.readLine(); arrayOfString = str2.split("\\s+"); cpuInfo[1] += arrayOfString[2]; localBufferedReader.close(); }catch(IOException e) { } return"CPU型号:"+ cpuInfo[0] +"\nCPU频率:"+ cpuInfo[1]; }
publicvoidinitView() { // TODO Auto-generated method stub mPhoneInfo = (TextView)findViewById(R.id.id_tv_phone_info); }
@Override publicbooleanonCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); returntrue; }
} |
注意:添加权限
代码如下 | 复制代码 |
|
以下是效果视图:
-
上一个: 驾呗租车如何启动?驾呗租车启动方法
-
下一个: 驾呗租车租车费用是多少
相关文章
- sora软件价格介绍 02-22
- sora官网入口地址一览 02-22
- Sora生成的视频使用教程 02-22
- 《梦幻西游》元宵灯谜线索答案大全2024 02-22
- 《原神》有朋自远方来第一天通关攻略 02-22
- 《苏醒之路》四个结局达成攻略 02-22