Android 应用程序启动时如何获取手机型号和名称?

Android 应用程序启动时如何获取手机型号和名称?,android,Android,你好!我正在开发一款android应用程序,它可以监控手机名称和型号。我正在使用电话服务,但我在如何编写代码获取移动IMEI号码的问题 TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); // get IMEI String imei = tm.getDeviceId(); String phone = tm.getLine1Number(); 但它并不总是可靠的,例如非电

你好!我正在开发一款android应用程序,它可以监控手机名称和型号。我正在使用电话服务,但我在如何编写代码获取移动IMEI号码的问题

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
 // get IMEI
String imei = tm.getDeviceId();
String phone = tm.getLine1Number();
但它并不总是可靠的,例如非电话设备。您还需要添加权限“android.permission.READ\u PHONE\u STATE”

您可以使用以下功能:

String deviceModel = Build.MODEL;
String deviceBrand = Build.BRAND;
TelephonyManager manager = getSystemService(Context.TELEPHONY_SERVICE); 
String imei = manager.getDeviceId();
还要将该权限添加到您的清单中

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

如果你想获得关于你手机的其他信息,你应该阅读链接

重复问题可能重复
  public String getDeviceName() 
   {
    String manufacturer = Build.MANUFACTURER;
    String model = Build.MODEL;
    if (model.toLowerCase().startsWith(manufacturer.toLowerCase())) {
        return capitalize(model);
    } 
    else {
        return capitalize(manufacturer) + " " + model;
    }
}




private String capitalize(String s) {
    if (s == null || s.length() == 0) {
        return "";
    }
    char first = s.charAt(0);
    if (Character.isUpperCase(first)) 
     {
        return s;
    } else {
        return Character.toUpperCase(first) + s.substring(1);
    }
}