package com.liuguilin.lovewallpaper.activity; /* * 项目名: LoveWallpaper * 包名: com.liuguilin.lovewallpaper.activity * 文件名: SystemInformationActivity * 创建者: LGL * 创建时间: 2017/1/19 13:36 * 描述: 系统信息 */ import android.Manifest; import android.annotation.SuppressLint; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.support.annotation.RequiresApi; import android.support.v4.content.ContextCompat; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; import com.liuguilin.lovewallpaper.R; import com.liuguilin.lovewallpaper.entity.Constants; import com.liuguilin.lovewallpaper.utils.ScreenUtils; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; public class SystemInformationActivity extends BaseActivity { private ListView mListView; private ArrayAdapter<String> mAdapter; private List<String> mList = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_system_information); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { getPermission(); }else { initData(); initView(); } } //初始化数据 @SuppressLint("NewApi") private void initData() { mList.add("IP:" + Constants.getPhoneIp(this)); mList.add("MAC地址:" + Constants.getMacAddress(this)); mList.add("SD卡存储:" + Constants.getSdAvailableMemory()); mList.add("设备分辨率:" + ScreenUtils.getInstance(this).getDisplayMetrics(this)); mList.add("网络状态:" + Constants.getNetworkState(this)); mList.add("内存状况:" + "可用内存:" + Constants.getAvailMemory(this) + "\n" + "总内存:" + Constants.getTotalMemory(this)); Constants.getCpuInfo(); mList.add("CPU:" + "CPU型号:" + Constants.cpuInfo[0] + "\n" + "CPU频率:" + Constants.cpuInfo[1]); mList.add("IMEI:" + Constants.getImei(this)); mList.add("主板:" + Build.BOARD); mList.add("Android系统定制商:" + Build.BRAND); String[] mStrAbis = Build.SUPPORTED_ABIS; StringBuffer abis = new StringBuffer(); for (int i = 0; i < mStrAbis.length; i++) { abis.append(mStrAbis[i]); } mList.add("CPU指令集:" + abis.toString()); mList.add("设备参数:" + Build.DEVICE); mList.add("显示屏参数:" + Build.DISPLAY); mList.add("唯一编号:" + Build.FINGERPRINT); mList.add("硬件序列号:" + Build.SERIAL); mList.add("硬件序列号:" + Build.SERIAL); mList.add("修订版本列表:" + Build.ID); mList.add("硬件制造商:" + Build.MANUFACTURER); mList.add("版本:" + Build.MODEL); mList.add("硬件名:" + Build.HARDWARE); mList.add("手机产品名:" + Build.PRODUCT); mList.add("Build的标签:" + Build.TAGS); mList.add("Builder类型:" + Build.TYPE); mList.add("开发代号:" + Build.VERSION.CODENAME); mList.add("源码控制版本号:" + Build.VERSION.INCREMENTAL); mList.add("版本字符串:" + Build.VERSION.RELEASE); mList.add("版本号:" + Build.VERSION.SDK_INT); mList.add("Host:" + Build.HOST); mList.add("User名:" + Build.USER); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); mList.add("编译时间:" + sdf.format(new Date(Long.parseLong(String.valueOf(Build.TIME))))); mList.add("OS版本:" + System.getProperty("os.version")); mList.add("OS名称:" + System.getProperty("os.name")); mList.add("OS架构:" + System.getProperty("os.arch")); mList.add("Home:" + System.getProperty("user.home")); mList.add("Name:" + System.getProperty("user.name")); mList.add("Dir:" + System.getProperty("user.dir")); mList.add("时区:" + System.getProperty("user.timezone")); mList.add("路径分隔符:" + System.getProperty("path.separator")); mList.add("行分隔符:" + System.getProperty("line.separator")); mList.add("文件分隔符:" + System.getProperty("file.separator")); mList.add("Java vender Url:" + System.getProperty("java.vendor.ur")); mList.add("Java Class:" + System.getProperty("java.class.path")); mList.add("Java Class版本:" + System.getProperty("java.class.version")); mList.add("Java Vender:" + System.getProperty("java.vendor")); mList.add("Java版本:" + System.getProperty("java.version")); mList.add("Java Home:" + System.getProperty("java.home")); } private void initView() { mListView = (ListView) findViewById(R.id.mListView); mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mList); mListView.setAdapter(mAdapter); } //获取手机状态权限 @RequiresApi(api = Build.VERSION_CODES.M) private void getPermission() { if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, 102); } else { initData(); initView(); } } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); switch (requestCode) { case 102: if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { initData(); initView(); } else { Toast.makeText(this, "请打开读/写权限", Toast.LENGTH_LONG).show(); } break; } } }