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

x11

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

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

  • Посещение

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

    13

Сообщения, опубликованные x11

  1. В общем, нужно писать сервис "правильный", который будет запускаться гугл-сервисами или через манифест, чтобы вызывалась твой процедура через BroadcastReceiver, ну т.е. чтобы сервис оживал только во время нужного события.

  2. В 22.07.2018 в 08:15, x11 сказал:

    В общем.... r@di0, это не совсем то или даже совсем не то, что нужно.

     

    Установил приложение на Сяоми с Андроид 7.0.

    Выполнил код и Андроид выдал запрос, где я ответил Да.

    Потом полез в настройки Андроида, а там всё равно "Стандартное ограничение".

    Получается, что это какое-то своё собственное ограничение или совмещённое с Андроидом?

     

    Если смотреть на картинку, то, по идее, после выполнения твоей процедуры должно быть "Без ограничений".

    Или в процедуре нужно применить/передать какую-то другую константу?

    Screenshot_10.png

  3. В 27.02.2018 в 13:48, mazayhin сказал:

    Toast.setDuration(TJToast.JavaClass.LENGTH_LONG); //Константа. Свое значение не пройдет

    К сожалению, Тоаст висит не долго. Пока пользователь достанет смарт и/или откроет крышку чехла-книжки, то Тоаст закрывается.

    Я добавил показ несколько раз подряд в цикле с паузой. Но на новых версиях Андроида всё равно такой финт не проходит :(

  4. В 18.09.2017 в 20:40, Равиль Зарипов (ZuBy) сказал:

    Края лесенкой и эффекты... На некоторых девайсах получится полный факап)

    TSpeedButton с круглой иконкой + TShadowEffect и нет никаких краёв лесенкой. по крайне мере их не видно.

    Screenshot_3.png

  5. В 21.07.2018 в 18:45, x11 сказал:

    r@di0, спасибо, а куда эту функцию вставлять, где и как правильно использовать? В какой момент, в каком событии?

    При старте приложения? Один раз при первом запуске или постоянно? 

     

    Я понял. Нужно в приложении где-нибудь создать кнопку/меню. Эта функция будет вызывать системное окно Андроида, где и нужно выбрать один из двух пунктов: "Экономия заряда батареи".

    Там 2 одинаковых, но значки разные. Я сперва выбрал то, что с зелёной иконкой и получил ошибку - приложение "Экономия заряда батареи" вызвало ошибку и будет закрыто.

    А вот выбрав второе, я получил ещё запрос: Не ограничивать расход батареи? И там выбрал Да. И моё приложение только после этого попало в "белый список". Т.е. всё равно надо пользователю что-то выбирать.

    Screenshot_1.png

  6. Надеюсь, что кому-нибудь пригодятся статьи о том, как сделать приложение с поддержкой новых версий Андроида:

    Ориентация на Android 8 и выше

    http://delphiworlds.com/2018/05/targeting-android-8-and-higher/

    http://delphiworlds.com/2018/06/targeting-android-8-and-higher-continued/

     

  7. Здесь

    https://stackoverflow.com/questions/40640352/dialog-for-intent-settings-action-request-ignore-battery-optimizations

    написано, что нужно добавлять такое разрешение:

    <uses-permission-sdk-23 android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>

     

    и здесь похожая проблема

    https://forums.embarcadero.com/thread.jspa?messageID=896940

  8. В 12.07.2018 в 09:50, r@di0 сказал:

    (StringToJString('ВАШ ПАКЕТ')) then

     

    В 12.07.2018 в 09:50, r@di0 сказал:

    (StringToJString('package:ВАШ ПАКЕТ')));

     

    Сразу задам ещё вопрос.

    Если вышеуказанную процедуру нужно вставлять в DataModule службы, то какой пакет прописывать: пакет основного приложения или пакет службы? У них ведь разные названия.

  9. Потому что разрешение WAKELOCK - это для того, чтобы приложение не давало устройству заснуть, а не для того, чтобы устройство не прибивало приложение.

    И вот ещё ответ на др. форуме: http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1299268&msg=21591594

  10. Столкнулся со странным JSON-текстом.

    Цитата
    
    {
    		labels: {
    			ru: "Все для дома",
    			by: "Усё для дома"
    		},
    		alias: {
    			ru: "Для_дома_и_дачи",
    			by: "Для_дома_і_дачы"
    		},
    		value: "3000",
    		parent: null
    	},

    Приходит от сервера в виде javascript.

    Обратите внимание, что у названий нет двойных кавычек.

    Я так понимаю, что я должен  сделать демаршалинг этого json-текста? Это значит, что я должен знать правильную структуру объекта перед демаршалингом?

    Спасибо.

     

    Я просто с маршалингом ни разу ещё не сталкивался.

     

  11. Toast на более новых версиях Андроида 7+ отображается очень недолго.

    Как заставить Андроид показывать всплывающее сообщение секунд 5-10? Или пока идёт входящий вызов. Или внедриться в окно звонилки и выводить там свой текст. Или выводить своё окно поверх окна звонилки.

×
×
  • Создать...