我正在尝试使用wifi Direct来 BroadCast 长字符串。当我要在设备上同伴点击时,我要操作此字符串。 因此,我决定将此字符串附加到设备名称上,但是设备名称更改代码不起作用。
我尝试使用WifiManger API的反射。 但是这个方法是隐藏的,无法访问。
try {
Method m = mManager.getClass().getMethod("setDeviceName", new Class[]{Channel.class, String.class, WifiP2pManager.ActionListener.class});
m.invoke(mManager, mChannel, BroadCastName, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
Log.d(TAG, "Name change successful.");
Log.println(Log.DEBUG,TAG, "Name change successful.");
}
@Override
public void onFailure(int reason) {
Log.d(TAG, "name change failed: " + reason);
}
});
} catch (Exception e) {
Log.d(TAG, "No such method");
}
此try catch块尝试访问此方法,并使用它来将自定义字符串BroadCastName设置为设备名称或主机名
我希望将WifiDirect中的设备默认名称修改为String BroadCastName,但我看不到任何变化。