Как получить deviceName моего устройства используя wifi p2p
Я занимаюсь разработкой приложения на основе API-интерфейса wifi p2p от Google, и я хотел бы получить имя устройства, которым я пользуюсь (не одноранговые), но единственный способ найти имя - найти его, если я изменю его с помощью что-то вроде этого:
if (WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION.equals(action)) {
// this device details has changed(name, connected, etc)
mApp.mThisDevice = (WifiP2pDevice) intent.getParcelableExtra(WifiP2pManager.EXTRA_WIFI_P2P_DEVICE);
mApp.mDeviceName = mApp.mThisDevice.deviceName;
PTPLog.d(TAG, "processIntent: WIFI_P2P_THIS_DEVICE_CHANGED_ACTION " + mApp.mThisDevice.deviceName);
if( mApp.mHomeActivity != null ){
mApp.mHomeActivity.updateThisDevice(mApp.mThisDevice);
}
}
Но я не хочу этого (ждать изменений), я хочу знать свое собственное имя с самого начала, чтобы показать его, когда я просто открою приложение. Это возможно?
2 ответа
Если Wi-Fi включен, и вы регистрируете P2P и все, что загружено, тогда имя устройства должно быть доступно сразу же, когда это намерение срабатывает. Если Wi-Fi отключен, вам придется подождать, пока он будет включен, если вы хотите получить имя устройства из WifiP2pManager. Это единственный способ, которым я знаю, как получить имя.
Единственный способ, который я вижу, - это использовать отражение, чтобы изменить имя устройства, а затем использовать свой код, чтобы получить оригинальное имя устройства, после чего вы можете вернуть имя устройства к исходному.