-
Постов
326 -
Зарегистрирован
-
Посещение
-
Победитель дней
57
Сообщения, опубликованные OnePeople
-
-
-
Я бы не использовал их компоненты Bluetooth. Используйте стандартные рекомендации google.
-
Проверьте на наличие символов #13 на windows и android они немного по разному переносятся, может у вас там типо такого точно не помню как именно, но например #13 в windows не переносит так как нет #10, а в android переносит, hex редактором проверьте, точно не помню но есть такая байда
-
-
Конечно можно, изучайте работу TStyleBook
-
Отправьте скрин stylebook editor, что то мне кажется что у вас платформа там windows 10 выбрана
-
В filename ни чего писать не надо, открываете stylebook, там выбираете нужный стиль, главное смотрите чтобы платформа в stylebook editore была та которая вам нужна или default.
Зависает при вводе filename, потому что разрешения на чтение и запись не запросили и файла нет по указанному пути.
-
-
22 часа назад, BoriZZ_21 сказал:
нет такого метода
А у вас какая версия rad studio?
Да и в любом случае добавьте сами в скопируйте в папке проекта
Androidapi.JNI.Provider, затем добавьте туда в класс JSettingsClass = interface(JObjectClass)
{class} function _GetACTION_APP_OPEN_BY_DEFAULT_SETTINGS: JString; cdecl;...
{class} property ACTION_APP_OPEN_BY_DEFAULT_SETTINGS: JString read _GetACTION_APP_OPEN_BY_DEFAULT_SETTINGS; -
А может надо у браузера попробывать сбросить настройки по умолчанию?
Ну вам нужно проверить привязан ли домен к вашему приложению и если нет отправить запрос на открытие настроек где пользователь сможет вручную привязать домен к приложению.
Код верификации транслировать не могу rad studio старая.
Вызов настроек:
Intent := TJIntent.Create; Intent:= TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_APP_OPEN_BY_DEFAULT_SETTINGS); intent.setData(TJnet_Uri.JavaClass.parse(StringToJString('package:').concat(TAndroidHelper.Context.getPackageName))); TAndroidHelper.Context.startActivity(Intent);
Есть еще вариант вообще не привязывать именно домен, а сделать приложение универсальным для открытия ссылок, а уже в приложении проверять домен.
-
-
-
-
procedure loadbit; begin if JStringToString(Drawable.getClass.toString) = TJBitmapDrawable.ClassName then begin if (TJBitmapDrawable.Wrap((Drawable.getCurrent as ILocalObject).GetObjectID).getBitmap<>nil) then begin Bitmap := TJBitmapDrawable.Wrap((Drawable.getCurrent as ILocalObject).GetObjectID).getBitmap end else Bitmap:=nil; end else begin bmp:=TJBitmap.JavaClass.createBitmap(Drawable.getIntrinsicWidth, Drawable.getIntrinsicHeight, TJBitmap_Config.JavaClass.ARGB_8888); Canv:= TJCanvas.JavaClass.init(bmp); drawable.setBounds(0, 0, Canv.getWidth(), Canv.getHeight()); drawable.draw(Canv); Bitmap:=bmp; end; end;
-
или deployment под 64
-
procedure TForm1.OpenApp(pname, classname: String);
var
Intent: JIntent;
begin
Intent := TJIntent.Create;
intent.setClassName(StringToJString(pname), StringToJString(classname));
TAndroidHelper.Activity.startActivity(Intent);
end; -
1. В стиле для всех элементов стиля так же должно быть свойство HitTest только везде в положении false
2.Если в windows все нормально значит в StyleEditor проверьте стиль на пункт 1, не забывая про меню Platform(для каждой платформы может быть свой стиль)
-
6 минут назад, stalkernet сказал:
просто увидеть что текст страницы доступен
Короче смысл такой:
1.Android запрещает смотреть исходный код страниц
2.Вы можете загрузить страницу через HTTPClient и подобное
3.Загрузить страницу в WebBrowser вы можете командой LoadFromStrings
4.Выполнить скрипт в WebBrowser командой EvaluateJavaScript
Задачу программы по подробнее напишите, что в исходнике менять, какой скрипт и т.д., а то есть много способов решить вашу проблемы:
1.самый простой скачать компонент для FMX браузер с возможностью просмотра исходного кода.
2.как я выше написал
3.Персобрать Webbrowser, добавив возможность смотреть исходный код
4.Ни чего не смотреть, просто выполнить JavaScript
5.Еще куча вариантов ищите на Stackoverflow
-
14 часов назад, stalkernet сказал:
TEdgeBrowser доступен только в VCL в FMX он отсутствует. от слова совсем......
Зачем там стандартный на chromium!
-
14 часов назад, stalkernet сказал:
Тогда вопрос а Edge на андроиде заработает?
Зачем там стандартный на chromium.
Для Windows еще почитайте
https://it-blackcat.blogspot.com/2021/01/embed-microsoft-edge-webview2.html
-
-
Да, и еще обработчик. В вашем случае будет если устройство было соеденено, то вы запоминаете его идентификатор.
Затем устройство у вас отключается.
Затем когда находится устройство и вы получаете broadcast
BluetoothDevice.ACTION_FOUND
вы проверяете, если идентификатор совпадает с сохраненным, заново подключаетесь.
Я бы сделал так)
-
В манифест добавьте
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
For apps targetingBuild.VERSION_CODES#R
or lower, this requires theManifest.permission#BLUETOOTH_ADMIN
permission which can be gained with a simple<uses-permission>
manifest tag.
For apps targetingBuild.VERSION_CODES#S
or or higher, this requires theManifest.permission#BLUETOOTH_SCAN
permission which can be gained withActivity.requestPermissions(String[], int)
.
RequiresManifest.permission.BLUETOOTH_SCAN
-
FAdapter.cancelDiscovery;
55 минут назад, Андрей Рулин сказал:А потом реконнект.
Нет, потом через подписку broadcast когда устройство заново найдено, заново подключаетесь и всё
Компонент BluetoothLE и RAD STUDIO 11.2 - как читать характеристики без таймера и без потока
в Bluetooth
Опубликовано
Ну так это и есть чистая нативная платформа. компонент BluetoothLE написан также. Только тут вы делаете все так, как говорит вам гугл, и избегаете ошибок embarcadero. Браться за android и не уметь писать по справке гугл, то еще занятие, рано или поздно придется.