Конкретный код выглядит следующим образом:
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» или отсканируйте изображение ниже. Обычно некоторые статьи, связанные с программированием, будут обновляться, и все желающие могут обратить на них внимание~