I have a requirement for obtaining the hardware related information on an Android device that runs my application. I need information of the following sort.
- CPU Manufacturer, model and serial number
- SD Card Manufacturer and serial number
- Camera Manufacturer and other related specs
- Bluetooth related hardware information
- WiFi related hardware information
- RAM Vendor / model
- Display vendor and model
Any help on this topic would be highly appreciated.
Log.i("ManuFacturer :", Build.MANUFACTURER);
Log.i("Board : ", Build.BOARD);
Log.i("Display : ", Build.DISPLAY);
More info can be found at from http://developer.android.com/reference/android/os/Build.html
Log.i("TAG", "SERIAL: " + Build.SERIAL);
Log.i("TAG","MODEL: " + Build.MODEL);
Log.i("TAG","ID: " + Build.ID);
Log.i("TAG","Manufacture: " + Build.MANUFACTURER);
Log.i("TAG","brand: " + Build.BRAND);
Log.i("TAG","type: " + Build.TYPE);
Log.i("TAG","user: " + Build.USER);
Log.i("TAG","BASE: " + Build.VERSION_CODES.BASE);
Log.i("TAG","INCREMENTAL " + Build.VERSION.INCREMENTAL);
Log.i("TAG","SDK " + Build.VERSION.SDK);
Log.i("TAG","BOARD: " + Build.BOARD);
Log.i("TAG","BRAND " + Build.BRAND);
Log.i("TAG","HOST " + Build.HOST);
Log.i("TAG","FINGERPRINT: "+Build.FINGERPRINT);
Log.i("TAG","Version Code: " + Build.VERSION.RELEASE);
You can also get real-time hardware info. Build.* parameters are set during compilation of Android before even deploying it on hardware itself.
You can access Linux real-time hardware info by reading /proc/* "files".
You can do that with https://stackoverflow.com/a/3528239/997381
Simply as command put cat /proc/cpuinfo
.
You can test this with adb shell
, and you don't need root permissions.
**This Code give you information about following **
- Manufacturer of device
- Brand
- Model
- Board
- Hardware
- Serial No.
- Android_ID
- Screen Resolution
- Screen Density
- Boot Loader
- User
- Host
- API Level
- Build ID
- Build Time
Fingerprint
DisplayMetrics dm = new DisplayMetrics(); getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); double x = Math.pow(mWidthPixels / dm.xdpi, 2); double y = Math.pow(mHeightPixels / dm.ydpi, 2); screenInches = Math.sqrt(x + y); rounded = df2.format(screenInches); densityDpi = (int) (dm.density * 160f); Manufacturer_value = Build.MANUFACTURER; Brand_value = Build.BRAND; Model_value = Build.MODEL; Board_value = Build.BOARD; Hardware_value = Build.HARDWARE; Serial_nO_value = Build.SERIAL; UID_value = tManager.getDeviceId(); android_id = Settings.Secure.getString(getContext().getContentResolver(), Settings.Secure.ANDROID_ID); ScreenResolution_value = mHeightPixels + " * " + mWidthPixels + " Pixels"; screen_size = rounded + " Inches"; screen_density = String.valueOf(densityDpi) + " dpi"; BootLoader_value = Build.BOOTLOADER; User_value = Build.USER; Host_value = Build.HOST; Version = Build.VERSION.RELEASE; API_level = Build.VERSION.SDK_INT + ""; Build_ID = Build.ID; Build_Time = Build.TIME + ""; Fingerprint = Build.FINGERPRINT;
The "Build" class in android.os looks like it will contain some of the information you require
use it as
string build = Build.VERSION.DEVICE;
来源:https://stackoverflow.com/questions/10496872/android-get-hardware-information-programmatically