获取Android设备名称
如何获取Android设备名称?我正在使用 HTC 希望。当我通过 HTC Sync 连接它时,软件显示名称 'HTC Smith' 。我想通过代码获取这个名字。
这在 Android 中怎么可能呢?
How to get Android device name? I am using HTC desire. When I connected it via HTC Sync the software is displaying the Name 'HTC Smith' . I would like to fetch this name via code.
How is this possible in Android?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(16)
为了获取 Android 设备名称,您只需添加一行代码:
可在此处找到:获取 Android 设备名称
In order to get Android device name you have to add only a single line of code:
Found here: getting-android-device-name
您可以在此处查看答案以编程方式获取 Android 手机型号
You can see answers at here Get Android Phone Model Programmatically
我通过获取蓝牙名称解决了这个问题,但不是从
BluetoothAdapter
(需要蓝牙权限)获取。代码如下:
无需额外权限。
UPD:它不适用于 targetSdk 32 或更高版本。
I solved this by getting the Bluetooth name, but not from the
BluetoothAdapter
(that needs Bluetooth permission).Here's the code:
No extra permissions needed.
UPD: It doesn't work on targetSdk 32 or higher.
在许多流行的设备上,该设备的市场名称不可用。例如,在 Samsung Galaxy S6 上,
Build.MODEL
的值可能是"SM-G920F"
、"SM-G920I"
或“SM-G920W8”
。我创建了一个小型库,用于获取设备的市场(消费者友好)名称。它为超过 10,000 设备获取正确的名称,并且不断更新。如果您想使用我的库,请单击以下链接:
Github 上的 AndroidDeviceNames 库
如果您不想使用上面的库,那么这是获得消费者友好的设备名称的最佳解决方案:
以我的 Verizon HTC One M8 为例:
结果:
On many popular devices the market name of the device is not available. For example, on the Samsung Galaxy S6 the value of
Build.MODEL
could be"SM-G920F"
,"SM-G920I"
, or"SM-G920W8"
.I created a small library that gets the market (consumer friendly) name of a device. It gets the correct name for over 10,000 devices and is constantly updated. If you wish to use my library click the link below:
AndroidDeviceNames Library on Github
If you do not want to use the library above, then this is the best solution for getting a consumer friendly device name:
Example from my Verizon HTC One M8:
Result:
尝试一下。您可以通过蓝牙获取设备名称。
希望它能帮助你
Try it. You can get Device Name through Bluetooth.
Hope it will help you
您可以使用:
来自 android 文档:
举个例子:
此外,Build class 中有很多属性您可以使用,例如:
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
类(通过蓝牙)。You can use:
From android doc:
As a example:
Furthermore, their is lot of attribute in Build class that you can use, like:
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
Also their is other ways you can get device name without using
Build
class(through the bluetooth).以下对我有用。
我不认为这是重复的答案。上面的人正在谈论设置安全,对我来说设置安全是给 null,如果我使用设置全局它可以工作。无论如何,谢谢。
Following works for me.
I don't think so its duplicate answer. The above ppl are talking about Setting Secure, for me setting secure is giving null, if i use setting global it works. Thanks anyways.
让用户定义的DeviceName适用于几乎所有设备并且不需要任何权限的通用方法
universal way to get user defined DeviceName working for almost all devices and not requiring any permissions
试试这个代码。您将获得 Android 设备名称。
Try this code. You get android device name.
@hbhakhra 的答案就可以了。
如果您对详细说明感兴趣,请查看 Android 兼容性定义文档。 (3.2.2 构建参数)
你会发现:
@hbhakhra's answer will do.
If you're interested in detailed explanation, it is useful to look into Android Compatibility Definition Document. (3.2.2 Build Parameters)
You will find:
更新
您可以轻松地从 buildprop 检索设备。
但请记住,这在某些设备上不起作用。
UPDATE
You could retrieve the device from buildprop easitly.
But keep in mind, this doesn't work on some devices.
只需使用
BluetoothAdapter.getDefaultAdapter().getName()
Simply use
BluetoothAdapter.getDefaultAdapter().getName()
你可以通过这种方式得到'idol3'。
you can get 'idol3' by this way.
尝试过这些库,但没有任何效果符合我的预期,并且给出了绝对错误的名称。
所以我使用相同的数据自己创建了这个库。
这是链接
AndroidPhoneNamesFinder
要使用此库,只需添加此库即可实现
然后使用以下 kotlin 代码
这些是 DeviceDetailsModel 示例中获得的值-
您将从Android 模拟器的
Tried These libraries but nothing worked according to my expectation and was giving absolutely wrong names.
So i created this library myself using the same data.
Here is the link
AndroidPhoneNamesFinder
To use this library just add this for implementation
Then use the following kotlin code
These are the values you will get from DeviceDetailsModel
Example of Android Emulator -
例如我的设备名称是ro.oppo.market.name
e.g. my device name is ro.oppo.market.name
在 Android 的 GNU/Linux 环境中,例如,通过 Termux UNIX shell非根设备,可以通过
/system/bin/getprop
命令获取,而每个值的含义在构建Android 中的 .java
(也位于 googlesource):例如,可以设置为
tmux
像这样:tmux select-pane -T "$(getprop ro.product.model)"
Within the GNU/Linux environment of Android, e.g., via Termux UNIX shell on a non-root device, it's available through the
/system/bin/getprop
command, whereas the meaning of each value is explained inBuild.java
within Android (also at googlesource):For example, it can be set as the
pane_title
for thestatus-right
withintmux
like so:tmux select-pane -T "$(getprop ro.product.model)"