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

Dev

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

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

  • Посещение

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

    1

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

  1. В 18.04.2019 в 15:17, mazayhin сказал:

    по умолчанию не разрешено ничего такого особого, кроме как запуститься. Все выставляется в манифесте и разрешения даются при установке (напр. доступ в интернет). 

    1.jpg.a2e5dba26bcd8940f887204a85999d2c.jpg

    кстати доступ в интернет тоже есть в этом списке и если он отмечен в Uses Permissions, то он будет работать сразу и без вопросов.
    https://developer.android.com/guide/topics/permissions/overview

    В 18.04.2019 в 15:17, mazayhin сказал:

    мне кажется, что вы сам себе противоречите? Хотите использовать WifiManager, разрешения все равно надо запросить, но только при установке - возвращаемся к манифесту.

    в чем противоречие? вы наверно невнимательно прочитали, я не писал что разрешения все равно надо запросить, я писал что если даже их запросить...
    но все же прошу извинить если не доходчиво изложил мысль.

     

  2. 15 часов назад, mazayhin сказал:

    Вы в манифесте добавили эти разрешения?

    может быть неправильно, но я делаю так, выбираю разрешения которые нужны в опциях проекта, удаляю из проекта файл AndroidManifest.template.xml и папку Android если они до этого были уже созданы и студия сама сформирует и добавит в манифест выбранные разрешения.

    15 часов назад, mazayhin сказал:

    запрашивать у пользователя их не надо (потому, думаю, запрос и не выдает система)

    если мы в коде укажем что нужно получить разрешение, то приложение будет его запрашивать даже если оно разрешено по умолчанию андроидом. В Rio сделали классно,  разбили на три категории и наглядно видно для каких пунктов понадобятся от пользователя разрешения.

    повторюсь, у меня вся беда началась с того что если в файле AndroidManifest.template.xml оставить строку  <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> то в приложении все функции связанные с Wifi работают, но с этой строкой не получится выложить приложение в плей маркет, нужно менять в наглую на <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="26" />  но с этой строкой функции Wifi  переставали работать и я подумал что это из-за того что нужно разрешения пользователя.
    Прошло много времени с того момента когда задал здесь этот вопрос, теперь конечно уже разобрался,  Вы правы, для 
    ACCESS_WIFI_STATE, CHANGE_WIFI_STATE, CHANGE_WIFI_MULTICAST_STATE не нужны разрешения начиная с Андроид 6, но функции Wifi работать не будут, даже если запросить разрешения у пользователя и он их разрешит, оказывается с Андроид 6 нужно еще включить ACCESS_COARSE_LOCATION или ACCESS_FINE_LOCATION  тогда все функции WiFi будут работать, но для этих 100% нужно разрешение пользователя.
     

    В 05.04.2019 в 20:02, mazayhin сказал:

    используйте KastriFree https://github.com/DelphiWorlds/KastriFree

    Огромное спасибо за Ваши ответы и отдельное Спасибо за эту полезную ссылку!


    P. S.Ставил последнюю SDK и ставил последнюю NDK, разницы не заметил, все  работает и с теми что идет с Tokyo

  3. 21 час назад, mazayhin сказал:

    Ставьте целевой уровень 26 и используйте KastriFree https://github.com/DelphiWorlds/KastriFree

    немного разобрался, попробовал demo по это ссылке, оригинал работает, но когда начал со своими разрешениями запускать, программа вылетает при нажатии на кнопку, для меня показалось этот вариант очень тяжелым.
    нашел другой https://github.com/CarlosHe/AndroidPermission 
    здесь все понятно расписано что куда разложить по папкам и сам код примера более прозрачный для моих знаний.
    но опять загвоздка, нет тех разрешений которые мне нужны в файле FMX.Permissions.Android.pas

    ACCESS_WIFI_STATE

    CHANGE_WIFI_STATE

    CHANGE_WIFI_MULTICAST_STATE

    есть только эти:

    TAndroidPermission = (apREAD_CALENDAR, apWRITE_CALENDAR, apCAMERA, apCONTACTS, apREAD_CONTACTS, apWRITE_CONTACTS, apGET_ACCOUNTS, apLOCATION,
        apACCESS_FINE_LOCATION, apACCESS_COARSE_LOCATION, apMICROPHONE, apRECORD_AUDIO, apPHONE, apREAD_PHONE_STATE, apREAD_PHONE_NUMBERS, apCALL_PHONE,
        apANSWER_PHONE_CALLS, apREAD_CALL_LOG, apWRITE_CALL_LOG, apADD_VOICEMAIL, apUSE_SIP, apPROCESS_OUTGOING_CALLS, apSENSORS, apBODY_SENSORS, apSMS,
        apSEND_SMS, apRECEIVE_SMS, apREAD_SMS, apRECEIVE_WAP_PUSH, apRECEIVE_MMS, apSTORAGE, apREAD_EXTERNAL_STORAGE, apWRITE_EXTERNAL_STORAGE);

    я добавил в этот файл свои, приложение собирается, но при нажатии на кнопку не реагирует, не вылазит окно с запросом разрешения.
    поковырялся и нашел в папке Lib Студии эти два файла, FMX.Permissions.Android.dcu, FMX.Permissions.Android.o. открыл их в блокноте и обнаружил что там есть перечисленные разрешения которые есть pas файле.
    Можно как то изготовить эти два файла уже с моими добавленными разрешениями на основе этого FMX.Permissions.Android.файла? или это вобще бред, выкинуть все с головы и не тратить время

  4. обновил

    1.jpg.59edc8d2ba4a17be6a84a70c4a8eb10b.jpg

    2.jpg.bee29a50c63b432f20fe95d434677acb.jpg

     

    нажимаю кнопку добавить, появляется этот диалог

    3.jpg.2190d1e464a0f7a073df0aee8f795218.jpg

    а что делать дальше не знаю, подскажите пожалуйста.

    или может вобще это делается все не так?

     

     

    разобрался с добавлением SDK.


    но теперь вопрос следующий, нужно в файл  AndroidManifest.template.xml: вручную редактировать эту строку  <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="26"
    или студия сама теперь будет собирать проекты с таргет 26?

  5. Спасибо большое!
    задам наверно глупый вопрос, никогда еще не устанавливал,  пользовался тем что есть по умолчанию, но не у кого больше спросить последовательность действий, как установить целевой уровень? через SDK Manager?

  6. этот пример не определяет наличие интернета, Tokyo 10.2.3, тестировал на Android 7.0. проверяет только подключен сам wifi или нет.
    вытыкал кабель из роутера, а состояние подключения в приложении всегда True.
    в чем может быть проблема?

  7. В приложении нужен доступ к WiFi, соответственно используются разрешения Access WiFi State, Change wifi multicast state, Change wifi state.

    Tokyo 10.2.3.

    В шаблон AndroidManifest.template.xml: вставляю эту строку  <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="26" />, поскольку в конечном итоге приложение нужно разместить в play market, но с этой строкой после запуска приложение никак не реагирует на функции связанные с Wifi, если оставляю строку по умолчанию <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />, то всё работает.
    В Rio вроде из коробки target 26, но для Rio еще не завезли компонент который используется в приложении и неизвестно когда будет.
    Понимаю что это связанно с новыми правилами разрешений, но может есть какой-то способ заставить работать в Tokyo со строкой обманкой targetSdkVersion="26" ?

  8. Если приложение свернуть, а после закрыть таким способом как на картинке, onClose. onDestroy, onDeactivate не работают
    Какое есть событие чтоб выполнить действия перед таким закрытием приложения?

     

    photo_2019-03-19_23-04-41.thumb.jpg.374785e41f20855d7e151f685dfc4173.jpg

  9. Barbanel спасибо вам за исчерпывающий ответ! Я просто никогда не использовал дефолтные стили, а делал всегда свои и без png файлов, только примитивы и добавлял к ним разные эфекты где было необходимо, уже было обрадовался, а теперь понял, что метод описанный по ссылке выше для моих стилей не подойдет чтобы было автоматически, поскольку еще никому наверно не удалось запрограммировать процесс программирования, всё надо руками))).

    Еще раз спасибо за ответ!

  10. например при запуске приложения в процедуре FormCreate мы можем узнать логический размер и коэффициент масштабирования как в примере по ссылке выше

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

  11. Slym, Спасибо!, никогда в жизни не догадался бы, что это из-за Form.Fill, столько было времени потрачено на поиски этой проблемы, а решение оказалось таким простым, убрал заливку формы  и крокодилы исчезли все...
    Огромное вам Спасибо!!!

  12. такой неприятный эффект замечен только на телефонах Xiaomi сразу когда появляется главный экран приложения, если нажать на любую кнопку то эти артефакты пропадают при условии если картинка статичная, но если есть на экране например смена цифр, то полосы и кубики появляются снова в разных местах экрана.Когда FullScreen = false то на экране вообще так как раньше в Dendy, если картридж плохо контачит, почти все в мигающих разноцветных кубиках.

    photo_2018-12-09_11-59-20.jpg.938d0995b63f99d0083d7d6c03a7732f.jpg

    Приходит только одна мысль, программно имитировать нажатие на какую нибудь кнопку, или как то заставлять перерисовывать экран, но как это сделать чтоб не нагружать приложение? 
    буду рад  и благодарен любым советам.

    Delphi 10.2.3

  13. 19 часов назад, Tumaso сказал:

    плюнуть и реально перейти на андроид студию

    В андроид студии горя будет не меньше...

    18 часов назад, Tumaso сказал:

    У делфи большой плюс - кроссплатформенность

    но есть ещё хотябы React Native, Xamarin, Corona SDK, только когда в них окунаешься с головой, сразу становится ясно, что React NativeReact NativeЭмба во многом всё равно на высоте, ей не хватает только одного, разработчикам Эмбы взять и остановиться на какой-то одной версии, включить у себя этот форум, на котором грамотно и красиво перечислены все компоненты, зайти в каждый и почитать на что народ жалуется и просто всё допилить, а после уже думать о карнавале.. 

  14. В FMX приложение для Windows, если установить свойство Form.borderstyle := none (форма без заголовка) и свойство WindowState := wsMaximized; (форма на весь экран) после запуска форма занимает полностью весь экран и перекрывает панель задач Windows. Есть ли способ чтоб форма с этими свойствами занимала только клиентскую часть рабочего стола не перекрывая панель задач? 

    перешарил все форумы и находил только то, что в VCL все пытались наоборот спрятать панель задач, в FMX наверно ребята исполнили желания многих и к сожалению не оставили возможности убрать заголовок окна и при этом чтоб была доступна панель задач

  15. Понятно, не знал.. тогда логично для каждого разрешения делать свой файл с элементами стиля, ну в иллюстраторе же можно потянуть за края и уменьшить или увеличить изображения под нужное разрешение без потери качества и экспортировать. Когда-то делал в CorelDRAW экспортировал в eps и этот формат открывал в фотошопе, получались боле менее нормальные края, но добиться такого качества как на иконках в айфоне у меня не получилось, сделал вывод что надо быть или программистом или дизайнером, а два этих ремесла освоить в совершенстве ,тогда надо родиться гением

  16. 20 часов назад, Ivan B. сказал:

    неужели они рисуют для четырех разрешений отдельно?

    а о каких четырех разрешениях идет речь?, ведь в каждом стиле есть только один файл png со всеми причиндалами стиля, не так ли?

  17. 5 часов назад, SIARHEI RAHOUSKI сказал:

    Но потом когда понял что нормальной графики там не сделать

    Вы имеете ввиду дизайн? Можно очень красиво все оформить и на VCL к примеру с компонентами  AlphaControls, они устанавливаются легко и распространяются для жителей СНГ бесплатно, там стили можно так же как и в FMX делать самому и есть в комплекте около ста готовых, на любой вкус. Здесь все зависит от вашей идеи. В FMX свои трудности... и свой набор для работы с базами данных к примеру - FDConnection FDQuery или FDTable и это обычно прикручивают к компоненту ListView, а не к TGrid, через Bind (но лучше кодом) и как оптимальный вариант для этого набора - база SQLite, если не ошибаюсь, эти компоненты не умеют работать с базой Accsess

  18. Так как этот форум FireMonkey, посоветую вам сразу юзать базу SQLite, с ней можно будет и на мобильных устройствах работать и на desktop ну и приложение писать на FMX, а если нужно чисто Delphi (VCL), то лучше загляните на другой форум, быстрее найдете ответ, и обратите внимание на сторонний компонент DBgridEh

  19. регион проверил, менял на разные, а в приложении стабильно на 5 часов разница от нашего

    если у вас на Xiaomi правильно время, то выходит у меня телефон такой попался, сбрасывал на заводские настройки, ничего не изменилось

  20. 40 минут назад, sinuke сказал:

    myTime := Now;

    пробовал, не помогло 

    Подозреваю что это связанно с временной зоной, в телефоне в настройках все правильно, а в приложении почему то берется китайское время, пробовал на LG, Samsung все хорошо, а на Xiaomi неправильно, наверно надо в приложении как то конвертировать, не могу пока найти как это делается 

  21. Кто нибудь сталкивался с такой проблемой, на китайских телефонах типа xiaomi - myTime := Time; в приложении получает чисто китайское время, а не реальное что в телефоне

    Поделитесь опытом или советом, как получить текущее системное время?

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