wifi p2p系统中本机名称WifiP2pDevice.deviceName是由系统指定的,直接修改并不能起作用。WifiP2pManager类中有设备名称设置方法setDeviceName,可以改变本设备名称。
/**
* Set p2p device name.
* @hide
* @param c is the channel created at {@link #initialize}
* @param listener for callback when group info is available. Can be null.
*/
@UnsupportedAppUsage
public void setDeviceName(Channel c, String devName, ActionListener listener) {
checkChannel(c);
WifiP2pDevice d = new WifiP2pDevice();
d.deviceName = devName;
c.mAsyncChannel.sendMessage(SET_DEVICE_NAME, 0, c.putListener(listener), d);
}
但是这个方法是 @UnsupportedAppUsage的,不能在app中直接使用。无奈只好用反射机制取得该方法,kotlin代码如下:
private fun setDeviceName(deviceName: String) {
try {
val paramTypes0 = WifiP2pManager.Channel::class.java
val paramTypes1 = String::class.java
val paramTypes2 = WifiP2pManager.ActionListener::class.java
val


493

被折叠的 条评论
为什么被折叠?



