Как установить имя устройства пользователя в WifiDirect? Есть ли способ трансляции пользовательской строки с использованием WiFiDirect без установления соединения? - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь BroadCast Длинная строка с использованием Wi-Fi Direct. когда peer нажимает на устройстве, я хочу манипулировать этой строкой. Поэтому я решил прикрепить эту строку с именем устройства, но код изменения имени устройства не работает.

Я пытался использовать отражение 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, но я не вижу изменений.

...