-
Постов
96 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Сообщения, опубликованные ra.eremeev
-
-
Большое спасибо за такой пример!
Попробовал реализовать у себя - не создается файл. Все действия орабатываются, лог пишется (дополнял логированием после каждого шага - все в порядке). Сервис тоже "не падает" - работает. Но файла на выходе нет Ни по имени файла (с полным путем), ни по поиску файла на устройстве
Разрешения присутствуют (и на запись/чтение файлового хранилища и на запись аудио).
В чем может быть проблема?
RAD Studio 10.1 upd.2 Win8.1
-
Добрый день, Уважаемые Форумчане!
Подскажите, пожалуйста, как исключить множественное отображение уведомлений от одного приложения на устройстве?
Поясню: допустим, приложение находится в фоне или не запущено вовсе. Устройство в течение некоторого времени получает несколько уведомлений для данного приложения.
В шторке будут отображены все полученные уведомления.
Хотелось бы, чтобы отображалось только последнее пришедшее (как, например, во всех приложениях. В ВК, например)
Решается ли вопрос на уровне отправляемого уведомления/настройки приложения или проекта?
Или требуется писать сервис, который будет в фоне висеть и очищать список пришедших уведомлений, выводя последнее?
-
В 14.04.2017 в 17:26, Ufomaster сказал:
Переход на NDK r14b - решил вопрос.
Добрый день!
Столкнулся с той же проблемой, что и у Вас: при получении фокуса TEdit'ом в проекте, в котором есть TMS FMX WebGMaps приложение на Android наглухо виснет. С iOS проблем нет.
Поставил NDK r14b, но проблема не ушла
Delphi 10.1 upd.2 - Win 8.1
Написал в поддержку TMS. Не знаю, сколько ждать ответа и будет ли он...
Вы решили свою проблему?
-
Добрый день, уважаемые форумчане!
Подскажите, наверняка сталкивался кто-то, как получить уровень:
1. громкости звонка вызова (например, узнать, что стоит вибро или определенный % от уровня максимальной громкости);
2. заряда АКБ (в %)
Интересующие платформы - Android и iOS.
Буду очень признателен за конкретный пример кода
-
Добрый день!
Да, решил с использованием "костыля": при смене изображения (событие компонента) происходит полная перерисовка изображения
-
В 23.05.2017 в 15:46, Rusland сказал:
Slava Marchenko подсказал что при закрытом приложении получить сам текст можно так:
procedure TFormMain.FormActivate(Sender: TObject); var CurNotification : TPushServiceNotification; begin if Length(fPushService.StartupNotifications) > 0 then for CurNotification in fPushService.StartupNotifications do if Assigned(CurNotification) then Memo.Lines.Text := CurNotification.Json.ToJSON; end;
Rusland, большое спасибо!
Это именно то, что требовалось!
-
Добрый день, Друзья!
Помогите, пожалуйста, разобраться - в голове уже каша
Как в Delphi можно реализовать обработку поступающих на устройство PUSH-уведомлений при выгруженном или свернутом приложении?
При запущеном и активном приложении проблем нет - использую OnReceiveNotificationEvent(Sender: TObject; const ANotification: TPushServiceNotification) в связке с TNotificationCenter.
Эта процедура у меня:
1. очищает все активные уведомления;
2. создает в TNotificationCenter последнее пришедшее, которое и отображается пользователю.
Его обработчик мной реализован.
"Проблемы" есть если приложение выгружено или свернуто...
Есть 2 очень похожих сценария:
Сценарий №1: Приложение выгружено из памяти. Приходит PUSH. Пользователь нажимает на него. Приложение запускается. OnReceiveNotificationEvent после запуска не отрабатывает. Как обработать событие - не знаю
Сценарий №2: Приложение запущено, но свернуто. Приходит PUSH. Пользователь нажимает на него. Приложение становится активным. После этого отрабатывает OnReceiveNotificationEvent: очищаются уведомления и создается новое. Пользователю надо повторно на него нажать и тогда сработает обработчик.
Вопрос: Как получить текст (или любое другое поле - не важно) ЭТОГО push-уведомления после запуска/вывода приложения из фона?
Допущение: Если ЭТО уведомление (запустившее приложение) идентифицировать нельзя, то как можно понять, что запуск произведен именно по нажатию на push?
Задача актуальна не только для Android, но и iOS.
Буду ОЧЕНЬ БЛАГОДАРЕН за помощь!
-
24 минуты назад, Равиль Зарипов (ZuBy) сказал:
вот так ошибки не будет
TThread.Synchronize(nil, procedure begin ShowMessage(ANotification.AlertBody); end);
Равиль, спасибо большое!
Помогло!
-
28 минут назад, Равиль Зарипов (ZuBy) сказал:
сделай тестовый пример, где ошибка воспроизводится
Я даже его путь размещения указал В примерах из комплекта.
Достаточно процедуру сделать вот так:
procedure TNotificationsForm.NotificationCReceiveLocalNotification( Sender: TObject; ANotification: TNotification); var s:string; begin s:=ANotification.AlertAction; showmessage(s); end;
и получаем ошибку.
Притом, эффект не только при обращении к ANotification.AlertAction, но и к Body и Title...
-
Добрый день!
Не нашел темы подобной, что уже достаточно странно...
При использовании динственного обработчика компонента NotificationCenter возникает ошибка, приводящая к падению приложения на Android (на iOS не проверял, так как живого устройства под рукой нет).
Пытаюсь в обработчике ReceiveLocalNotification взять из ANotification параметр ActrionAction (при формировании локального уведомления я этот параметр вручную прописываю).
Если идти по пути, предложенному в примере из поставки (...Samples\Object Pascal\Mobile Snippets\Notifications\SendCancelNotification) и выводить параметр в Memo или в Label, проблем нет.
Но как только значение параметра присваиваем переменной и пытаемся с этой переменной дальше работать (например, showmessage), приложение падает
Может, кто сталкивался? Выручите, пожалуйста, в какую сторону копать?
-
Проблема проявилась с Битмапом. Пробовал решить через костыль с предварительной прогрузкой изображений в TImageList и загрузкой уже оттуда, но тоже действия не возымело
Поэтому я в этой ветке обсуждений и оказался
-
Понял.
Значит, будем надеяться на Ярослава: баг поймал на FGX.FlipView
-
-
Добрый день!
Спасибо за отличный компонент! Хорошая работа!
Хотел бы узнать: при сворачивании приложения и разворачивании вновь спустя непродолжительное время, на Андроид наблюдается "выпадание" картинки: она просто становится черной.
Применение метода Repaint не спасает...
Возможно ли "вылечить" в следующем обновлении?
-
10 часов назад, Alexander сказал:
сколько в вашей программе уходит времени на загрузку из файла и сколько на заполнение SQLite?
Добрый день!
Alexander, вопрос был в другом...
Вшитые в БД механизмы импорта/экспорта работают значительно быстрее построчного чтения/обработки/записи данных.
Экспорт таблицы в 765 тыс. строк средствами MySQL (SELECT xxx FROM xxx INTO OUTFILE) производится менее 2 сек.
Не заменрял аналогичное действие с построчным чтением каждой из 765 тыс. строк, обработкой и последующей записью, но есть ощущение что время будет значительно больше.
Повторюсь, вопрос был в другом: есть или нет... Альтернативные варианты реализации понятны
-
Относительного построчного ввода данных
-
1 час назад, Alexander сказал:
PS: а какая сложность в реализации обработчика? считать строку, по разделителю выделить данные, полученные данные подставить в параметры запроса
Alexander, никакой сложности нет.
Просто стандартные механизмы импорта данных их CSV-файла, реализованные в MySQL, например, позволяют существенно ускорить внесение большого объема данных.
Обработчик на таблицу с количеством строк более 100 тыс., например, будет отнимать заментное время (и ресурсы).
-
Добрый день!
Подскажите, пожалуйста, наверняка кто-то сталкивался с вопросом...
В таблицу SQLite необходимо импортировать данные из CSV-файла.
Понятно, что можно разносить по записям, или формировать запросы INSERT INTO...
Но если таблица достаточно большая, то процесс растянется.
Есть ли возможность задействовать механизмы импорта на стандартных компонентах?
И если такая возможность есть, возможно ли делать импорт с опцией обновления данных (перезапись уже существующих значений, а не добавление новых)?
-
Добрый день!
А есть решение для операции в обратную сторону? Взять с камеры изображение кода и распознать? Обычный и QR...
-
4 минуты назад, Сергей Пьянков сказал:
Отказы по какому-то одному приложению или по всем, где есть сетевой обмен? Подозреваю, что первый вариант, иначе бы на форумах был вал вопросов и жалоб по таким отказам. Мой личный опыт подобной проблемы не подтверждает: IPv4-сервер спокойно проходит проверку Apple (правда речь о TCP, но это ничего не меняет).
Сергей, тоже являюсь "жертвой" таких обстоятельств. Да, согласен, не обязательно приложение будет отклонено контролем. Бывает, проходит с первого раза. Если не проходит сразу, проходит на второй или третий. Ничего не меняю, просто повторно возвращаю на проверку...
Для меня Apple тоже проводили тестирование не только в рабочей сети, но и через мобильных операторов. Показывали результаты...
Но в целом системы такого поведения не уловил. На Андроиде все работает прекрасно.
Нисколько не агитирую за какое-либо решение... Каждый вибирает для себя. Просто делюсь опытом.
-
1 час назад, krapotkin сказал:
тут неоднократно отмечалось, что работа с TBitmap может быть только в Synchronize. и где-то был демо код с асинхронной загрузкой картинок
Да, я тоже по этому принципу загрузку в потоках изображения строю.
Но вопрос в событии, в котором запускать эту отрисовку.
Раньше делал старт потока в OnPaint, теперь так не проходит
-
Большое спасибо за помощь!
Разобрался с новым LV. Теперь радости нет предела. По мне, работать с ним стало проще. Пусть теперь приходится создавать все компоненты вручную, но, зато полный контроль и отображение без фокусов
Со старым LV были свои заморочки.
Остался один вопрос: никак не могу разобраться с загрузкой в итем картинок с веб-сервера. Картинки в итемы грузятся в потоках.
Процедура загрузки работает корректно - проверено.
TListItemImage создаю в OnUpdatingObjects. Но как раньше, в OnPaint не получается в него грузить картинку - выдает ошибку.
Как понял, элемент становится доступным после OnPaint.
Но и загрузка в OnUpdateObjects отрабатывает некорректно.
Есть ли опыт? Буду признателен, если поделитесь...
-
В 10.06.2016 в 17:46, HyperZen сказал:
Просто это, видимо, глюк Берлина. Ведь на пустом новом проекте все работает адекватно! И без всяких дополнительных ресайзов.
На старом проекте пришлось брать в руки бубен.
Добрый вечер
HyperZen, правильно ли понимаю: если снести LV, мигрированный из более ранней версии Delphi, то все Item.Add отрабатывают корректно?
У меня та же ерунда. Экспериментировать не берусь пока - слишком много нагромождено, времени много уйдет. Обошелся Вашим советом (костыль с resize), но чую, что где-нибудь "старый" LV может выкинуть неожиданный финт...
В 10.06.2016 в 14:53, krapotkin сказал:я еще раз в этой теме приложу тестовый проект полностью рабочий под берлин с ресайзом
За пример и разжевывание спасибо огромное! Выручили! Вот только заметил такую "Болезнь": если на форму поставить кнопку и по ней перерисовать все, возникнет баг с расчетом высоты...
Пугает меня скрытыми неожиданностями Берлин
-
У меня проблем с первым выводом через жест нет (не испытывал их и ранее). Разве что не всегда цепляется и выходит через вытягивание...
Стоит Сиэттл
Через NetHTTPClient передать фотографию на сервер
в RTL
Опубликовано
Большое спасибо за пример!
Подскажите, пожалуйста, что делаю не так (я уже 2 дня на загрузку убил, возможно очевидных ошибок не вижу): не работает код у меня. Серверный скрипт отказывается с ним работать. Выдает ошибку.
Скрипт на стороне сервера (незамысловатый):
<?php
$uploaddir = '';
if (move_uploaded_file($_FILES['FileField']['tmp_name'], $uploaddir . $_FILES['FileField']['name'])) {
print "File is valid, and was successfully uploaded.";
} else {
print "There some errors!";
}
?>
Через html-форму все отлично грузит (скрипт на сервере рабочий).
Или, пожалуйста, поделитесь скриптиком на php, который дружит с этой функцией.