Перейти к содержанию

IgorK11

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

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

  • Посещение

Информация о IgorK11

  • Звание
    Новичок

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. IgorK11

    TListView Gesture longtap

    android, есть listview, при нажатии на элемент в строке по ItemClickEx открывается другая закладка в приложении. Теперь задача добавить другие действия по longtap, не открывая закладку . После Gesture вызывается: tap, click, change. если Gesture не срабатывает(обычное нажатие) то в Tap и click Selected еще не обновленный, да ещё следить за сторонними нажатиями нужно. Если Gesture срабатывает то идет два change, что не подходит так как откроется закладка на первом change. Уже вроде всё перепробовал не могу понять как сделать Что я пропустил? накидал небольшую тестилку событий: clic: LongTap: Scroll: testLVGest.zip
  2. IgorK11

    TSpinBox

    У всех не целых чисел вылезают левые значение. Подскажите пожалуйся как это победить? Delphi 10.3 Version 26.0.36039.7899
  3. Про подводные камни разных кодировок в TEncoding.Default на win/android забыли. Код выше не будет работать если закодировать на одной ос и раскодировать на другой, немного подправил, еще есть расхождение кода символа перевода строки и соответственно разной длины передаваемого результата кодирования с разных OS, но пока проблем в тестировании не возникало: function IntEncode2(S, pwd: String): String; var i, iimax: integer; B, BPwd, Bls: TBytes; begin {$IF NOT defined(MSWINDOWS)} S:= Utf8ToAnsi(S); {$ENDIF} B:= TEncoding.ANSI.GetBytes(S); BPwd:= TEncoding.ANSI.GetBytes(pwd); iimax:= High(BPwd); for i:= Low(B) to High(B) do begin B[i]:= B[i] Xor BPwd[i Mod iimax]; end; result:= TNetEncoding.Base64.EncodeBytesToString(B); end; pwd передается уже в md5 При декодировании использую result:= TEncoding.ANSI.GetString(B);
  4. Так? function IntEncode(S, pwd: String): String; var i, iimax: integer; B, BPwd: TBytes; begin B:= TEncoding.Default.GetBytes(S); BPwd:= TEncoding.Default.GetBytes(System.Hash.THashMD5.GetHashString(pwd)); iimax:= High(BPwd); for i:= Low(B) to High(B) do begin B[i]:= B[i] Xor BPwd[i Mod iimax]; end; result:= TNetEncoding.Base64.EncodeBytesToString(B); end; Чайниковский вопрос, как проще добавить в начало TBytes другой TBytes?
  5. Хочу использовать свой алгоритм в приложении, какие могут быть подводные камни потом в работе? Пакеты потом будут по HTTP ходить. Расшифровка на php. function IntEncode(S, pwd: String): String; var i, iimax: integer; SS, SSS, Sln : String; begin pwd:=System.Hash.THashMD5.GetHashString(pwd); SS:=''; iimax:= Length(pwd); {$IFDEF ANDROID} for i:= 0 to Length(S)-1 do begin {$ELSE} for i:= 1 to Length(S) do begin {$ENDIF} SS:=SS + Chr(Ord(S[i]) Xor Ord(pwd[i Mod iimax])); end; result:= TNetEncoding.Base64.Encode(SS); end;
  6. манифест <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> не работает, FPermissionBAT:= JStringToString(TJManifest_permission.JavaClass.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); PermissionsService.RequestPermissions([FPermissionBAT], PermissionResult, PermissionDisplay); не работает, кстати если использовать для теста права на CAMERA вместо REQUEST_IGNORE_BATTERY_OPTIMIZATIONS - работает LIntent:= TJIntent.Create; LIntent:= TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); LIntent.setData(StrToJURI('package:IAApp')); TAndroidHelper.Activity.startActivity(LIntent); Ошибка: android.content.ActivityNotFoundException: No Activity found to handle intent. без LIntent.setData(StrToJURI('package:IAApp')); открывается ОптимизацияРасхода но приложений/служб там столько что пользователь никогда не полезет искать мое. Не так передаю имя приложения?
  7. Дело немного сдвинулось. Если на S9 в Настройки-Приложение-[МоеПриложение]-Батарея-ОптимизацияРасхода-Все оно же Настройки-Приложения-...-ОсобыеПраваДоступа-ОптимизацияРасхода-Все убрать оптимизацию с своего приложения, служба не закрывается и idTCPClient кстати не засыпает. на A5 служба работает как надо, но idTCPClient засыпает после отключения телефона в промежутке от 3 до 5 минут, а после включения телефона просыпается и продолжает отсылать трафик, делать при этом ничего не нужно. Вопрос остается открытым, что добавить в манифест что бы при установке не ставилась "оптимизация расхода" на мое приложение?
  8. Получилось сделать на A6 (android7), но samsung S9 (android9) упорно удаляет сервис. В app: в сервисе: Так же при выключенном телефоне не ратает idTCPClient, точнее работает но иногда выкидывает ошибки. Есть идеи как побороть 9 андроид? Может в манифест чего добавить что бы 9ка не закрывала службу?
×
×
  • Создать...