是否可以通过代码直接更改WiFi的设备名称?我试过:
private WifiP2pDevice wDevice; wDevice.deviceName = "newName";
但是,显然它不起作用.
任何的想法?!
解决方法
下面的代码使用Java的Reflection api,由于缺乏效率而不太喜欢,但是Android没有提供另一种方式,所以你可以使用它的魅力:
try { Method m = wpm.getClass().getMethod( "setDeviceName",new Class[] { WifiP2pManager.Channel.class,String.class,WifiP2pManager.ActionListener.class }); m.invoke(WifiP2pManager wifimngr,WifiP2pManager.Channel wifichannel,new_name,new WifiP2pManager.ActionListener() { public void onSuccess() { //Code for Success in changing name } public void onFailure(int reason) { //Code to be done while name change Fails } }); } catch (Exception e) { e.printStackTrace(); }