Программирование Android реализует изменение имени WiFi устройства

Конкретный код выглядит следующим образом:

public void ChangeDeviceName(final String NewDeviceName){
    
    
        try {
    
    
            Log.d(TAG, "进入修改名字");
            Method method = mManager.getClass().getMethod("setDeviceName",
                    WifiP2pManager.Channel.class, String.class, WifiP2pManager.ActionListener.class);

            method.invoke(mManager, mChannel, "", new WifiP2pManager.ActionListener() {
    
    
                public void onSuccess() {
    
    
                    Log.d(TAG, "Change DeviceName Success!");
                    try {
    
    
                        Log.d(TAG, "进入修改名字");
                        Method method = mManager.getClass().getMethod("setDeviceName",
                                WifiP2pManager.Channel.class, String.class, WifiP2pManager.ActionListener.class);

                        method.invoke(mManager, mChannel, NewDeviceName, new WifiP2pManager.ActionListener() {
    
    
                            public void onSuccess() {
    
    
                                Log.d(TAG, "Change DeviceName Success!");
                            }

                            public void onFailure(int reason) {
    
    
                                Log.d(TAG, "Change DeviceName Failed!");
                            }
                        });
                    } catch (Exception e)   {
    
    
                        Log.d(TAG, "错误:"+e);
                    }
                }

                public void onFailure(int reason) {
    
    
                    Log.d(TAG, "Change DeviceName Failed!"+reason);
                }
            });
        } catch (Exception e)   {
    
    
            Log.d(TAG, "错误:"+e);
        }
    }

Примечание:
1. По идее, достаточно один раз вызвать функцию, но изменить имя WiFi устройства я могу только дважды вложив функцию, конкретная причина пока изучается.
2. mManager в коде — это WifiP2pManager, созданный в функции main:

mManager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);

3. mChannel в коде — это Channel, созданный в функции main:

mChannel = mManager.initialize(this, getMainLooper(), null);

—————————————————————————————
Наконец, опубликуйте мой личный общедоступный аккаунт: WeChat найдите «Chaqian» или отсканируйте изображение ниже. Обычно некоторые статьи, связанные с программированием, будут обновляться, и все желающие могут обратить на них внимание~
чайный ход

Supongo que te gusta

Origin blog.csdn.net/weixin_46269688/article/details/110442010
Recomendado
Clasificación