WifiNetworkSpecifier.Builder builder =newWifiNetworkSpecifier.Builder();
builder.setSsid("wifi-ap-ssid");
builder.setWpa2Passphrase("wifi-ap-password");WifiNetworkSpecifier wifiNetworkSpecifier = builder.build();NetworkRequest.Builder networkRequestBuilder1 =newNetworkRequest.Builder();
networkRequestBuilder1.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
networkRequestBuilder1.setNetworkSpecifier(wifiNetworkSpecifier);NetworkRequest nr = networkRequestBuilder1.build();ConnectivityManager cm =(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
cm.requestNetwork(nr, callback);
И уже вродь-как начало сростаться, но упёрся вот в какую штуку:
в выпадающем списке доступных методов и свойств напрочь отсутствуют след. св-ва: TRANSPORT_BLUETOOTH, TRANSPORT_CELLULAR, TRANSPORT_ETHERNET, TRANSPORT_VPN, TRANSPORT_WIFI и TRANSPORT_WIFI_AWARE... Но если суслика не видно, то он - есть:
JNetworkCapabilitiesClass= interface(JObjectClass)['{E908BEFD-1FFE-4DBA-B9F3-48CE1E205BDE}']{class} function _GetCREATOR:JParcelable_Creator; cdecl;....{class} function _GetTRANSPORT_BLUETOOTH:Integer; cdecl;{class} function _GetTRANSPORT_CELLULAR:Integer; cdecl;{class} function _GetTRANSPORT_ETHERNET:Integer; cdecl;{class} function _GetTRANSPORT_VPN:Integer; cdecl;{class} function _GetTRANSPORT_WIFI:Integer; cdecl;{class} function _GetTRANSPORT_WIFI_AWARE:Integer; cdecl;....{class} property TRANSPORT_BLUETOOTH:Integer read _GetTRANSPORT_BLUETOOTH;{class} property TRANSPORT_CELLULAR:Integer read _GetTRANSPORT_CELLULAR;{class} property TRANSPORT_ETHERNET:Integer read _GetTRANSPORT_ETHERNET;{class} property TRANSPORT_VPN:Integer read _GetTRANSPORT_VPN;{class} property TRANSPORT_WIFI:Integer read _GetTRANSPORT_WIFI;{class} property TRANSPORT_WIFI_AWARE:Integer read _GetTRANSPORT_WIFI_AWARE;end;[JavaSignature('android/net/NetworkCapabilities')]JNetworkCapabilities= interface(JObject)['{E9EBA97B-F82A-41BA-8170-537E131E0533}']
function describeContents:Integer; cdecl;
function equals(obj:JObject):Boolean; cdecl;
function getLinkDownstreamBandwidthKbps:Integer; cdecl;
function getLinkUpstreamBandwidthKbps:Integer; cdecl;
function hasCapability(capability:Integer):Boolean; cdecl;
function hasTransport(transportType:Integer):Boolean; cdecl;
function hashCode:Integer; cdecl;
function toString:JString; cdecl;
procedure writeToParcel(dest:JParcel; flags:Integer); cdecl;end;TJNetworkCapabilities=class(TJavaGenericImport<JNetworkCapabilitiesClass,JNetworkCapabilities>)end;
вместе с троеточиями = 70 строк и всё это в файле Androidapi.JNI.Net.pas. На картинке мы видим то, чем богат интерфейс JObject-а JNetworkCapabilities, а вот как (объясните, пожалуйста, чайнику) вытащить свойства из интерфейса JNetworkCapabilitiesClass?
З.Ы. И на закуску (мож не по теме) - чем отличается конструкция:
NetworkSpecifierObj:=TAndroidHelper.Context.getSystemService(TJContext.JavaClass.CONNECTIVITY_SERVICE);NetworkSpecifier:=TJNetworkSpecifier.Wrap((NetworkSpecifierObj as ILocalObject).GetObjectID);
Вопрос
UFO 007
Доброго всем времени суток.
Перевожу на Pascal такое:
И уже вродь-как начало сростаться, но упёрся вот в какую штуку:
в выпадающем списке доступных методов и свойств напрочь отсутствуют след. св-ва: TRANSPORT_BLUETOOTH, TRANSPORT_CELLULAR, TRANSPORT_ETHERNET, TRANSPORT_VPN, TRANSPORT_WIFI и TRANSPORT_WIFI_AWARE... Но если суслика не видно, то он - есть:
вместе с троеточиями = 70 строк и всё это в файле Androidapi.JNI.Net.pas. На картинке мы видим то, чем богат интерфейс JObject-а JNetworkCapabilities, а вот как (объясните, пожалуйста, чайнику) вытащить свойства из интерфейса JNetworkCapabilitiesClass?
З.Ы. И на закуску (мож не по теме) - чем отличается конструкция:
от
Заранее благодарен.
З.Ы. З.Ы. Среда - Delphi 10.4.2
Ссылка на комментарий
32 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.