Лидеры
Популярный контент
Показан контент с высокой репутацией 16.09.2015 во всех областях
-
XE8 без апдейтов. На какой строке AV? Provisioning profile должен включать APN. uses: System.PushNotification, FMX.PushNotification.iOS2 балла
-
Запустить приложение из сервиса или показать форму
xenon54 и ещё один отреагировал Brovin Yaroslav за вопрос
Андроид сервис не может работать с формами и UI. О чем указано в документации:2 балла -
Импорт класса из bpl (LoadPackage)
Alzon и ещё один отреагировал Brovin Yaroslav за вопрос
Чтобы любой класс можно было найти по имени, этот класс нужно вначале предварительно зарегистрировать через функцию RegisterClass. При отключении опции "Link with runtime pakages", ваше приложение включает в себя код rtl пакета. Поэтому при запуске вашего приложения, встроенный в приложение rtl пакет создает свои экземпляры хранилищ классов. Когда вы загружаете вашу библиотеку, она уже использует другой экземпляр rtl библиотеки (которая лежит вместе со средой IDE). В итоге получается две копии в памяти одной библиотеке. Но ваш пакет регистрирует ваш класс в одном хранилище, а приложение ищем в другом. Поэтому вы не можете найти ваш класс. Решение такое, вы должны поставлять потребителю, отдельно RTL пакет, отдельно ваш пакет, и ваше приложение (которое использует динамическую линковку rtl пакета)2 балла -
var APS : TPushService; ASC : TPushServiceConnection; begin APS := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.APS); ASC := TPushServiceConnection.Create(APS); ASC.OnChange := DidAPNSChanged; ASC.OnReceiveNotification := form1.OnReciveAPN; ASC.Active := True; procedure TXAPNS.DidAPNSChanged(Sender: TObject; AChange: TPushService.TChanges); begin if TPushService.TChange.DeviceToken in AChange then begin FDevToken := APS.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken] ; Так у меня работает все на ура1 балл
-
Ссылка: http://yaroslavbrovin.ru/tcalendar_with_highlight_days_based_on_default_tcalendar/ Автор: Ярослав Бровин В этой статье мы рассмотрим расширение функционала стандартного календаря TCalendar и добавим поддержку раскраски требуемых дней в календаре. Расширение будет продемонстрировано с использованием нового подхода разработки компонента в FireMonkey. В результате этой статьи вы получите готовый модуль, который будет достаточно добавить в ваш проект, чтобы использовать расширенную версию календаря с раскраской дней без необходимости создания отдельного компонента календаря.1 балл
-
тут http://blog.blong.com/ почитай Вообще почитай про особенности приложений в андроид, он если это не сервис, не активное приложение может закрыть если ему покажется, что оно много отъедает например... Что касается приложений на XE .. это ему кажется всегда практически. Поэтому описываешь сервис на Java который тебе что то всегда делает и складывает аккуратно это в файлик , а твое активити работает уже с файлом,например. Можно было бы вызывать из сервиса функцию сразу делать изменения в активити без файла и вызывать функцию из делфи кода, тогда тебе нужно обязательно перед этим сартануть активити(там ньюансы есть)...1 балл
-
Приложение не закрывается когда вы выходите на рабочий стол, оно продолжает висеть в памяти устройства, но уже с другим приоритетом. Хотел было написать на эту тему статью, но ... нагло процитирую слова из первой попавшейся книжки (эту информацию можно найти в справке "Processes and Application Life Cycle"):1 балл
-
Работа сервиса при закрытом приложении
zairkz отреагировал Cody71727172 за вопрос
Большое спасибо! Буду разбираться -------------------------------------------- Все работает) Правда сервис в манифесте всё равно должен быть прописан, чтобы принимать сообщения с закрытым приложением1 балл -
[Android] Как в вызываемом приложении получить результат, объект JIntent?
zairkz отреагировал voytalexey за вопрос
Заголовок топика должен звучать так: "Как в вызываемом приложении получить доступ к объекту JIntent?" К сожалению, на этом форуме редактировать содержание поста можно, а вот его заголовок нет. Теперь ответ на вопрос. Доступ есть через SharedActivity.getIntent (надо подключить модули FMX.Helpers.Android и Androidapi.JNI.GraphicsContentViewText). Для возврата информации в вызывающее приложение использовал SharedActivity.setResult(TJActivity.JavaClass.RESULT_OK, SharedActivity.getIntent); SharedActivity.finish(); Для того чтоб в главном приложении получить результат, надо перед вызовом подписаться на сообщение (в XE6): Intent := TJIntent.Create; Intent.setClassName(StringToJString('com.MySoft.PluginOne'),StringToJString('com.embarcadero.firemonkey.FMXNativeActivity')); // наполняем данные для передачи в плагин intent.putExtra(StringToJString('dbl'),123.456); intent.putExtra(StringToJString('str'),StringToJString('qwerty')); // подписываемся на сообщение, колл-бек метод "HandleActivityMessage" FMessageSubscriptionID := TMessageManager.DefaultManager.SubscribeToMessage(TMessageResultNotification,HandleActivityMessage); // стартуем плагин SharedActivity.startActivityForResult(Intent,0); Получение результата в вызывающем приложении делается в колл-бек методе, я делал так: procedure TForm1.HandleActivityMessage(const Sender: TObject; const M: TMessage); var RequestCode, ResultCode: Integer; Intent: JIntent; d:double; s:string; begin if not(M is TMessageResultNotification) then exit; TMessageManager.DefaultManager.Unsubscribe(TMessageResultNotification, FMessageSubscriptionID); FMessageSubscriptionID := 0; RequestCode:=TMessageResultNotification(M).RequestCode; ResultCode:=TMessageResultNotification(M).ResultCode; Intent:=TMessageResultNotification(M).Value; if ResultCode = TJActivity.JavaClass.RESULT_OK then begin Memo1.Lines.Append('RESULT_OK'); if Assigned(Intent) then begin d:=Intent.getDoubleExtra(StringToJString('dbl'),111.111); s:=JStringToString(Intent.getStringExtra(StringToJString('str'))); Memo1.Lines.Append('d='+FloatToStr(d)); Memo1.Lines.Append('s='+s); end; end else if ResultCode = TJActivity.JavaClass.RESULT_CANCELED then begin Memo1.Lines.Append('RESULT_CANCELED'); end; end; Проверено в ХЕ6, идеи почерпнуты из следующих источников: http://vlad8.com/tech/android-intents-tutorial/ http://www.darkraha.com/rus/mobile/android/api/intent.php http://www.blong.com/Articles/DelphiXE6AndroidActivityResult/ActivityResult.htm в последней ссылке есть описание как решать эту проблему в ХЕ5, есть отличия.1 балл -
Как получить Thumbnail файла mp4?
zairkz отреагировал Brovin Yaroslav за вопрос
Добрый день, Собственно исключение оправдано. Вы пытаетесь в качестве картинки подсунуть видео. И считаете, что объект TBitmap почему-то должен работать с видео. Почему тогда туда не подсунуть аудио запись или файл экселя, полагая, что он выдаст скриншот файла и тд. Мысль я думаю понятна. Теперь к задаче: решить ее можно двумя путями: Простой. Храните вместе с видео обложку с видео. И когда нужно отобразить обложку просто загружать ее. Сложный. Поискать в интернете, как храниться обложка видео в видеофайле и написать код, который будет читать ее из файла.1 балл