-
Постов
363 -
Зарегистрирован
-
Посещение
-
Победитель дней
64
Весь контент OnePeople
-
Ну так у вас ошибка вам нужно android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION для запроса на конкретное приложение, а android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION это меню для всех. Intent := TJIntent.JavaClass.init; Intent.setAction(StringToJString('android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION')); TAndroidHelper.Activity.startActivity(Intent); для всех Intent := TJIntent.JavaClass.init; Intent.setAction(StringToJString('android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION')); Intent.setData(TJnet_Uri.JavaClass.parse(StringToJString('package:').concat(TAndroidHelper.Context.getPackageName))); TAndroidHelper.Activity.startActivity(Intent); Для вашего приложения
-
В Delphi есть метод для проверки разрешений и ContextCompat не нужен PermissionsService.IsEveryPermissionGranted
-
try if TJBuild_VERSION.JavaClass.SDK_INT >= 30 then begin if TJEnvironment.JavaClass.isExternalStorageManager = false then begin Intent := TJIntent.Create; Intent:= TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); intent.setData(TJnet_Uri.JavaClass.parse(StringToJString('package:').concat(TAndroidHelper.Context.getPackageName))); if intent.resolveActivity(TAndroidHelper.Context.getPackageManager) <> nil then TAndroidHelper.Context.startActivity(Intent); end; end; except end; if TJBuild_VERSION.JavaClass.SDK_INT <= 29 then begin FPermissionReadExternalStorage := JStringToString(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE); FPermissionWriteExternalStorage := JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE); PermissionsService.RequestPermissions([FPermissionReadExternalStorage] + [FPermissionWriteExternalStorage], nil); end;
-
Ну так количество строк то не меняется, меняется отображение этих строк. Код не мой function MeasureTextHeight(const AFont: TFont; const AText: string): Single; var LLayout: TTextLayout; begin LLayout := TTextLayoutManager.DefaultTextLayout.Create; try LLayout.BeginUpdate; try LLayout.WordWrap := False; LLayout.Font.Assign(AFont); LLayout.Text := AText; finally LLayout.EndUpdate; end; Result := LLayout.TextHeight; finally LLayout.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var LTextHeight: Single; LLines: Integer; begin LTextHeight := MeasureTextHeight(Memo1.TextSettings.Font, Memo1.Text); LLines := Round(Memo1.ContentBounds.Height / LTextHeight); end;
-
<uses-permission android:name="android.permission.RECEIVE_SMS" /> BroadcastReceiver SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
-
Ну для начала сделайте так varMyItem:TListViewItem;begin ListView1.ApplyStyleLookup;MyItem :=Listview1.Items.Add;MyItem.Data['Text1']:='MyData'; if MyItem.index mod 2 = 0 then TListItemText(MyItem.Objects.FindDrawable('Text1')).TextColor := TAlphaColorRec.Gold else TListItemText(MyItem.Objects.FindDrawable('Text1')).TextColor := TAlphaColorRec.Black;end; Но update тоже надо
-
По имени TListItemText(MyItem.Objects.FindDrawable('Text1')).TextColor := AppSettings.TextGeneralColor; По номеру в списке элементов дизайнера item TListItemText(MyItem.Objects.Drawables[0]).Font.Style := [TFontStyle.fsBold];
-
Возможно, как пример про NotificationListner Service https://stackoverflow.com/questions/27962192/is-it-possible-to-read-the-notifications-of-other-applications-on-android-with-d
-
Только через AccessibilityService
-
Проверьте на наличие символов #13 на windows и android они немного по разному переносятся, может у вас там типо такого точно не помню как именно, но например #13 в windows не переносит так как нет #10, а в android переносит, hex редактором проверьте, точно не помню но есть такая байда
-
Отправьте скрин stylebook editor, что то мне кажется что у вас платформа там windows 10 выбрана
- 9 ответов
-
- tstylebook
- android
-
(и ещё 1 )
C тегом:
-
В filename ни чего писать не надо, открываете stylebook, там выбираете нужный стиль, главное смотрите чтобы платформа в stylebook editore была та которая вам нужна или default. Зависает при вводе filename, потому что разрешения на чтение и запись не запросили и файла нет по указанному пути.
- 9 ответов
-
- tstylebook
- android
-
(и ещё 1 )
C тегом:
-
А у вас какая версия 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); Есть еще вариант вообще не привязывать именно домен, а сделать приложение универсальным для открытия ссылок, а уже в приложении проверять домен.
-
Ну у вас в настройках sdk API-Level location версии 26, а был наверное 29 и выше вот ошибки и небыло
-
Нигде в деплоймент не указана внешняя память ??????? Вообще то requestLegacyExternalStorage это параметр у вас в AndroidManifest.xml
-
android-26 requestLegacyExternalStorage в Added in API level 29