我试图获取在设置中设置的用户定义的设备名称.我已经尝试了几种选择,到目前为止还没有.
如果它有帮助或伤害我需要它在BroadcastReceiver
谢谢
Chr*_*tle 29
这让我得到了我需要的东西... http://cmanios.wordpress.com/2012/05/09/bluetooth-adapter-device-name-and-mac-address-in-android/
BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
String deviceName = myDevice.getName();
Run Code Online (Sandbox Code Playgroud)
确保添加
<uses-permission android:name="android.permission.BLUETOOTH"/>
Run Code Online (Sandbox Code Playgroud)
到你的清单
Dan*_*n J 13
总之,没有单一一致的方法来检索用户自定义的设备名称。
但是,您可以使用许多适用于不同型号和制造商的实用程序:
Settings.System.getString(getContentResolver(), “bluetooth_name”);(文档)Settings.Secure.getString(getContentResolver(), “bluetooth_name”);(文档)BluetoothAdapter.getDefaultAdapter().getName();(文档)Settings.System.getString(getContentResolver(), “device_name”);(文档)Settings.Secure.getString(getContentResolver(), “lock_screen_owner_info”);(文档)在我同事测试的设备上,1、2 和 3 似乎是最可靠的。以下是他的完整分析:
来源:https : //medium.com/@pribble88/how-to-get-an-android-device-nickname-4b4700b3068c
kak*_*ppa 11
BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
String deviceName = myDevice.getName();
Run Code Online (Sandbox Code Playgroud)
返回Galaxy S5.
String deviceName = android.os.Build.MODEL;
returns SM-G900H.
Run Code Online (Sandbox Code Playgroud)
经过一些研究后,我在/data/data/com.android.providers.settings/databases/settings.db中找到了device_name.
所以,使用shell命令获取它
shell@k3g:/ $ settings get system device_name
settings get system device_name
Milky Way
Run Code Online (Sandbox Code Playgroud)
用java
String deviceName = Settings.System.getString(getContentResolver(), "device_name");
returns Milky Way
Run Code Online (Sandbox Code Playgroud)
POC github项目 https://github.com/kakopappa/getdevcicename
详细解释:http: //androidbridge.blogspot.com/2016/09/how-to-get-android-device-name-settings.html
以下对我有用
String deviceName = Settings.Global.getString(<Context>.getContentResolver(), Settings.Global.DEVICE_NAME);
Run Code Online (Sandbox Code Playgroud)
这个在API 25上为我工作:
Settings.Secure.getString(getContentResolver(), "bluetooth_name");
Run Code Online (Sandbox Code Playgroud)
以下是如何找到它...(只需更换设备的名称)
$ adb shell
$ settings list system | grep "<device_name>"
$ settings list secure | grep "<device_name>"
Run Code Online (Sandbox Code Playgroud)
使用:
String deviceName = android.os.Build.MODEL;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32737 次 |
| 最近记录: |