Здесь все зависит от того, как сделано в android. Следовательно вам всегда в первую очередь нужно смотреть справку developer.android.com.
Все что ниже это то как делаю я, не истина, так как мне для хобби достаточно. На примере
1. JConnectivityManager.
Захожу в справку, ищу JConnectivityManager, открываю пример работы с API.
Вижу код:
ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
Начинаю переписывать на Delphi (паскале, не считаю) и вижу что getSystemService возвращает JObject. Если мы получаем не определенный объект то нам нужно сопоставить его с определенным классом, так сказать объект обернуть в класс
НАШКЛАСС.ОБЕРНУТЬ(ИД_ОБЪЕКТА)
TJConnectivityManager.Wrap((ConnectivityServiceNative as ILocalObject).GetObjectID);
Если же объект создается методом new, тогда мы можем просто использовать init, create. (В чем разница я не знаю
AudioFocusRequest:=TJAudioFocusRequest_Builder.JavaClass.init(TJAudioManager.JavaClass.AUDIOFOCUS_GAIN);
AudioFocusRequest:=TJAudioFocusRequest_Builder(TJAudioManager.JavaClass.AUDIOFOCUS_GAIN).Create;
Я пользуюсь обоими видами конструкцию, но предпочитаю init
)
2.Захожу в справку, ищу JWifiNetworkSpecifier, вижу
Apps should use the WifiNetworkSpecifier.Builder class to create an instance.
Соответственно Network specifier object создается строителем, перехожу дальше в WifiNetworkSpecifier.Builder, смотрю там и так далее.
Есть всякие костыли и идеи людей решающие многие проблемы, но я вам так скажу у вас не будет проблем если вы будете делать так как вам советует гугл, а если и будут, то на китайских устройствах где по какой то причине китайцы просто что то сломали в системе и заменили это своим хламом не отвечающим требованиям гугл(Обычно телефон и BT). Единственная помарка, в Delphi бывает отсутствует все API, и некоторые вещи, вообще не реализованы, но их очень мало и они очень специфические.
.