Перейти к содержанию
Fire Monkey от А до Я

OnePeople

Пользователи
  • Постов

    321
  • Зарегистрирован

  • Посещение

  • Победитель дней

    55

Весь контент OnePeople

  1. Отправьте скрин stylebook editor, что то мне кажется что у вас платформа там windows 10 выбрана
  2. В filename ни чего писать не надо, открываете stylebook, там выбираете нужный стиль, главное смотрите чтобы платформа в stylebook editore была та которая вам нужна или default. Зависает при вводе filename, потому что разрешения на чтение и запись не запросили и файла нет по указанному пути.
  3. А у вас какая версия 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;
  4. А может надо у браузера попробывать сбросить настройки по умолчанию? Ну вам нужно проверить привязан ли домен к вашему приложению и если нет отправить запрос на открытие настроек где пользователь сможет вручную привязать домен к приложению. Код верификации транслировать не могу 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); Есть еще вариант вообще не привязывать именно домен, а сделать приложение универсальным для открытия ссылок, а уже в приложении проверять домен.
  5. Ну у вас в настройках sdk API-Level location версии 26, а был наверное 29 и выше вот ошибки и небыло
  6. Нигде в деплоймент не указана внешняя память ??????? Вообще то requestLegacyExternalStorage это параметр у вас в AndroidManifest.xml
  7. android-26 requestLegacyExternalStorage в Added in API level 29
  8. 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;
  9. procedure TForm1.OpenApp(pname, classname: String); var Intent: JIntent; begin Intent := TJIntent.Create; intent.setClassName(StringToJString(pname), StringToJString(classname)); TAndroidHelper.Activity.startActivity(Intent); end;
  10. 1. В стиле для всех элементов стиля так же должно быть свойство HitTest только везде в положении false 2.Если в windows все нормально значит в StyleEditor проверьте стиль на пункт 1, не забывая про меню Platform(для каждой платформы может быть свой стиль)
  11. Короче смысл такой: 1.Android запрещает смотреть исходный код страниц 2.Вы можете загрузить страницу через HTTPClient и подобное 3.Загрузить страницу в WebBrowser вы можете командой LoadFromStrings 4.Выполнить скрипт в WebBrowser командой EvaluateJavaScript Задачу программы по подробнее напишите, что в исходнике менять, какой скрипт и т.д., а то есть много способов решить вашу проблемы: 1.самый простой скачать компонент для FMX браузер с возможностью просмотра исходного кода. 2.как я выше написал 3.Персобрать Webbrowser, добавив возможность смотреть исходный код 4.Ни чего не смотреть, просто выполнить JavaScript 5.Еще куча вариантов ищите на Stackoverflow
  12. Зачем там стандартный на chromium!
  13. Зачем там стандартный на chromium. Для Windows еще почитайте https://it-blackcat.blogspot.com/2021/01/embed-microsoft-edge-webview2.html
  14. https://it-blackcat.blogspot.com/2021/05/embed-microsoft-edge-webview2-view-page-source.html
  15. Да, и еще обработчик. В вашем случае будет если устройство было соеденено, то вы запоминаете его идентификатор. Затем устройство у вас отключается. Затем когда находится устройство и вы получаете broadcast BluetoothDevice.ACTION_FOUND вы проверяете, если идентификатор совпадает с сохраненным, заново подключаетесь. Я бы сделал так)
  16. В манифест добавьте <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> For apps targeting Build.VERSION_CODES#R or lower, this requires the Manifest.permission#BLUETOOTH_ADMIN permission which can be gained with a simple <uses-permission> manifest tag.For apps targeting Build.VERSION_CODES#S or or higher, this requires the Manifest.permission#BLUETOOTH_SCAN permission which can be gained with Activity.requestPermissions(String[], int).Requires Manifest.permission.BLUETOOTH_SCAN
  17. FAdapter.cancelDiscovery; Нет, потом через подписку broadcast когда устройство заново найдено, заново подключаетесь и всё
  18. 1.для ускорения соединения добавьте bluetoothAdapter.cancelDiscovery(); Перед FSocket.Connect; 2. после FAdapter := FBluetoothManager.CurrentAdapter; добавьте if (FSocket <> nil) then FSocket.close; When you're done with your BluetoothSocket, always call close(). Doing so immediately closes the connected socket and releases all related internal resources.
  19. Да, только это <action android:name="android.media.action.IMAGE_CAPTURE" /> , остальное там есть
  20. Можно на java небольшой пример?
  21. Если происходит множественный выбор тогда так: procedure TForm9.ListBox1ChangeCheck(Sender: TObject); var i: Integer; begin label1.Text := ''; for I := 0 to ListBox1.Items.Count - 1 do begin if ListBox1.ListItems[i].IsChecked then begin label1.Text := label1.Text + i.ToString + ' '; end; end; end;
  22. https://github.com/Embarcadero/RADStudio11Demos/blob/main/Object Pascal/Multi-Device Samples/Device Sensors and Services/Foreground Location Tracking
×
×
  • Создать...