有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (6) 个答案

  1. # 2 楼答案

    总之,检索用户自定义设备名称没有单一的一致方法

    但是,有许多实用程序可用于不同的型号和制造商:

    1. Settings.System.getString(getContentResolver(), “bluetooth_name”);docs
    2. Settings.Secure.getString(getContentResolver(), “bluetooth_name”);docs
    3. BluetoothAdapter.getDefaultAdapter().getName();docs
    4. Settings.System.getString(getContentResolver(), “device_name”);docs
    5. Settings.Secure.getString(getContentResolver(), “lock_screen_owner_info”);docs

    在我同事测试的设备上,1、2和3似乎是最可靠的。以下是他的全部分析:

    user device name table of results

    资料来源:https://medium.com/@pribble88/how-to-get-an-android-device-nickname-4b4700b3068c

  2. # 3 楼答案

    这个在API 25上对我有效:

    Settings.Secure.getString(getContentResolver(), "bluetooth_name");
    

    以下是如何找到它。。。(只需替换设备的名称)

    $ adb shell
    $ settings list system | grep "<device_name>"
    $ settings list secure | grep "<device_name>"
    
  3. # 4 楼答案

    使用:

    String deviceName = android.os.Build.MODEL;
    
  4. # 5 楼答案

    BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
    String deviceName = myDevice.getName();
    

    返回Galaxy S5

    String deviceName = android.os.Build.MODEL;
    returns SM-G900H.
    

    经过一些研究,我在/data/data/com中找到了设备名称。安卓提供者。设置/数据库/设置。分贝

    所以,要使用shell命令获取它

    shell@k3g:/ $ settings get system device_name
    settings get system device_name
    Milky Way
    

    使用java

    String deviceName = Settings.System.getString(getContentResolver(), "device_name");
    returns Milky Way
    

    POC github项目 https://github.com/kakopappa/getdevcicename

    详细说明: http://androidbridge.blogspot.com/2016/09/how-to-get-android-device-name-settings.html

  5. # 6 楼答案

    以下是我的作品

    String deviceName = Settings.Global.getString(<Context>.getContentResolver(), Settings.Global.DEVICE_NAME);