Zac*_*ach 167 java android device-name
如何获取Android设备名称?我正在使用HTC的愿望.当我通过HTC Sync连接时,软件显示名称'HTC Smith'.我想通过代码获取此名称.
这在Android中怎么可能?
hbh*_*hra 265
要获取Android设备名称,您只需添加一行代码:
android.os.Build.MODEL;
Run Code Online (Sandbox Code Playgroud)
在这里找到:getting-android-device-name
Ben*_*ima 43
你可以在这里看到答案以编程方式获取Android手机模型
public String getDeviceName() {
String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
if (model.startsWith(manufacturer)) {
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);
}
}
Run Code Online (Sandbox Code Playgroud)
Mic*_*cer 28
我通过获取蓝牙名称来解决这个问题,但不是来自BluetoothAdapter
(需要蓝牙许可).
这是代码:
Settings.Secure.getString(getContentResolver(), "bluetooth_name");
Run Code Online (Sandbox Code Playgroud)
无需额外的权限.
小智 23
试试吧.您可以通过蓝牙获取设备名称.
希望它会对你有所帮助
public String getPhoneName() {
BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
String deviceName = myDevice.getName();
return deviceName;
}
Run Code Online (Sandbox Code Playgroud)
Jar*_*ler 23
在许多流行的设备上,设备的市场名称不可用.例如,在三星Galaxy S6的价值Build.MODEL
可能是"SM-G920F"
,"SM-G920I"
或"SM-G920W8"
.
我创建了一个小型库,可以获得设备的市场(消费者友好)名称.它获得超过10,000个设备的正确名称,并不断更新.如果您想使用我的图书馆,请点击以下链接:
如果您不想使用上面的库,那么这是获取消费者友好设备名称的最佳解决方案:
/** Returns the consumer friendly device name */
public static String getDeviceName() {
String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
if (model.startsWith(manufacturer)) {
return capitalize(model);
}
return capitalize(manufacturer) + " " + model;
}
private static String capitalize(String str) {
if (TextUtils.isEmpty(str)) {
return str;
}
char[] arr = str.toCharArray();
boolean capitalizeNext = true;
String phrase = "";
for (char c : arr) {
if (capitalizeNext && Character.isLetter(c)) {
phrase += Character.toUpperCase(c);
capitalizeNext = false;
continue;
} else if (Character.isWhitespace(c)) {
capitalizeNext = true;
}
phrase += c;
}
return phrase;
}
Run Code Online (Sandbox Code Playgroud)
我的Verizon HTC One M8示例:
// using method from above
System.out.println(getDeviceName());
// Using https://github.com/jaredrummler/AndroidDeviceNames
System.out.println(DeviceName.getDeviceName());
Run Code Online (Sandbox Code Playgroud)
结果:
HTC6525LVW
HTC One(M8)
Nee*_*rma 13
以下对我有用。
String deviceName = Settings.Global.getString(.getContentResolver(), Settings.Global.DEVICE_NAME);
Run Code Online (Sandbox Code Playgroud)
我不认为这是重复的答案。上面的人正在谈论设置安全,对我来说设置安全是给 null,如果我使用设置全局它可以工作。不管怎么说,多谢拉。
您可以使用:
来自android doc:
Run Code Online (Sandbox Code Playgroud)String MANUFACTURER
产品/硬件的制造商.
Run Code Online (Sandbox Code Playgroud)String MODEL
最终产品的最终用户可见名称.
Run Code Online (Sandbox Code Playgroud)String DEVICE
工业设计的名称.
举个例子:
String deviceName = android.os.Build.MANUFACTURER + " " + android.os.Build.MODEL;
//to add to textview
TextView textView = (TextView) findViewById(R.id.text_view);
textView.setText(deviceName);
Run Code Online (Sandbox Code Playgroud)
此外,他们可以使用Build类中的很多属性,例如:
os.android.Build.BOARD
os.android.Build.BRAND
os.android.Build.BOOTLOADER
os.android.Build.DISPLAY
os.android.Build.CPU_ABI
os.android.Build.PRODUCT
os.android.Build.HARDWARE
os.android.Build.ID
他们还有其他方法可以在不使用Build
类(通过蓝牙)的情况下获取设备名称.
让用户定义的 DeviceName适用于几乎所有设备并且不需要任何权限的通用方法
String userDeviceName = Settings.Global.getString(getContentResolver(), Settings.Global.DEVICE_NAME);
if(userDeviceName == null)
userDeviceName = Settings.Secure.getString(getContentResolver(), "bluetooth_name");
Run Code Online (Sandbox Code Playgroud)
小智 5
试试这个代码。您将获得 Android 设备名称。
public static String getDeviceName() {
String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
if (model.startsWith(manufacturer)) {
return model;
}
return manufacturer + " " + model;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
168025 次 |
最近记录: |