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

voytalexey

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

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

  • Посещение

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

    1

Активность репутации

  1. Like
    voytalexey получил реакцию от Steepe_Hare в "Неподдерживаемый тип файла: application/apk"   
    А на Самсунге какая версия Андроида? Может просто созданный вами apk-файл требует версии выше чем 4.1.2
  2. Like
    voytalexey получил реакцию от zairkz в [Android] Как в вызываемом приложении получить результат, объект JIntent?   
    Заголовок топика должен звучать так:
    "Как в вызываемом приложении получить доступ к объекту 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, есть отличия.
  3. Like
    voytalexey получил реакцию от Alex7wrt в Исключение прямоугольной области при выборе случайного значения на двумерной сетке   
    Маленькое замечание: варианты Вячеслава от 01:45 и Alex7wrt от 23:42 дают неравномерное распределение.случайных точек. Вариант Brovin Yaroslav от 15:33 даёт равномерное распределение.
  4. Like
    voytalexey получил реакцию от Brovin Yaroslav в [Android] [XE7] Как передать два события Intent?   
    Одним вызовом передать два Intent-а? Никак, ибо функции типа startActivity() принимают только один экземпляр.
    Зато в один Intent можно напихать довольно много разнородной информации используя разнообразные Exstra.
  5. Like
    voytalexey получил реакцию от Streletz в [Android] Экспорт из FMX в Android Studio?   
    Нет никакого java-кода в генерируемом APK. Дельфя компилит сразу в машинный код под процессоры серии "ARMv7 processor with NEON support"
    http://blog.blong.com/2013/09/delphi-for-android-aka-delphi-xe5-aka.html
  6. Like
    voytalexey получил реакцию от Brovin Yaroslav в Что за канва передаётся в метод OnPaint контрола PaintBox?   
    Нашел ответ в теме "В каких координатах выполняется отрисовка на канве?"
  7. Like
    voytalexey получил реакцию от Satellite в [Android] [XE7] Как передать два события Intent?   
    Одним вызовом передать два Intent-а? Никак, ибо функции типа startActivity() принимают только один экземпляр.
    Зато в один Intent можно напихать довольно много разнородной информации используя разнообразные Exstra.
  8. Like
    voytalexey получил реакцию от Brovin Yaroslav в [Win] Точнее чем GetTickCount?   
    Уже давно в Windows есть функция QueryPerformanceCounter.
    Аналогичные вашему вопросы решались тут:
    http://delphikingdom.com/asp/answer.asp?IDAnswer=63327
    http://delphikingdom.com/asp/answer.asp?IDAnswer=67074
    http://delphikingdom.com/asp/answer.asp?IDAnswer=62538
×
×
  • Создать...