-
Постов
1 204 -
Зарегистрирован
-
Посещение
-
Победитель дней
26
Весь контент Rusland
-
Может быть попробуете прикрутить Java библиотеку Zip4J?
-
К обычному Button можно подсоединить ImageList с картинками и указать ему ImageIndex. IconButton.zip
-
krapotkin, почему-то doExit отрабатывает только при третьем нажатии
-
Доступно о возможностях Bass в Android
-
У нас с вами аналогичные проблемы (только у меня планшет Lenovo Lenovo Tab 2 A7-30DC Android 5.0.1). Разработчики делают вид что не видят наших тем
- 7 ответов
-
- зависание
- виртуальная клавиатура
-
(и ещё 1 )
C тегом:
-
У меня один раз переключает... может какой-то обработчик добавлен на Switch? PS. Проверил на Android и Windows
-
Это просто способ завлечь потенциальных программистов, подсадить их на C++Builder. Расчет на то что на Starter все равно ничего путного написать нельзя... поэтому купят версию Pro или выше. Странно что не проводят аналогичные акции на Delphi Starter.
-
Вот нашел код для записи видео (проверил - работает): unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, Androidapi.JNI.GraphicsContentViewText, System.Messaging, // TMessageManager FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, FMX.Controls.Presentation; type TForm1 = class(TForm) BtnRecord: TButton; Label1: TLabel; procedure BtnRecordClick(Sender: TObject); private { Private declarations } procedure HandleActivityMessage(const Sender: TObject; const M: TMessage); function OnActivityResult(RequestCode, ResultCode: Integer; Data: JIntent): Boolean; public { Public declarations } FMessageSubscriptionID:integer; end; var Form1: TForm1; const RECORD_VIDEO = 9; implementation {$R *.fmx} uses System.IOUtils, Androidapi.JNI.Provider, Androidapi.JNI.App, Androidapi.JNI.Net, Androidapi.JNIBridge, Androidapi.Helpers, Androidapi.JNI.JavaTypes, Androidapi.JNI.Os; procedure TForm1.BtnRecordClick(Sender: TObject); var VideoIntent: JIntent; videoUri: Jnet_Uri; AFile: JFile; FileName: TFileName; begin FMessageSubscriptionID := TMessageManager.DefaultManager.SubscribeToMessage( TMessageResultNotification, HandleActivityMessage); VideoIntent := TJIntent.JavaClass.init( TJMediaStore.JavaClass.ACTION_VIDEO_CAPTURE ); if ( VideoIntent.resolveActivity( SharedActivityContext.getPackageManager() ) <> nil) then begin FileName := TPath.Combine( TPath.GetSharedDocumentsPath, 'recording.mp4'); // см. /storage/sdcard0/Documents AFile:=TJFile.JavaClass.init( StringToJString(FileName)); videoUri:=TJnet_Uri.JavaClass.fromFile(AFile); VideoIntent.putExtra( TJMediaStore.JavaClass.EXTRA_OUTPUT, TJParcelable.Wrap((videoUri as ILocalObject).GetObjectID)); SharedActivity.startActivityForResult(VideoIntent, RECORD_VIDEO); end; end; procedure TForm1.HandleActivityMessage(const Sender: TObject; const M: TMessage); begin if M is TMessageResultNotification then OnActivityResult( TMessageResultNotification(M).RequestCode, TMessageResultNotification(M).ResultCode, TMessageResultNotification(M).Value); end; function TForm1.OnActivityResult(RequestCode, ResultCode: Integer; Data: JIntent): Boolean; begin Result := False; TMessageManager.DefaultManager.Unsubscribe( TMessageResultNotification, FMessageSubscriptionID); FMessageSubscriptionID := 0; if RequestCode = RECORD_VIDEO then begin if ResultCode = TJActivity.JavaClass.RESULT_OK then begin TThread.Queue(nil, procedure begin Label1.Text:='recording completed'; Invalidate; end); end; end; end; end. Пишет стандартной программой и сохраняет под названием recording.mp4 Если нужно просто писать видео, то подойдет.
-
Что-нибудь изменилось за два года? Есть способы легко записывать видео на Android с частотой хотя бы 24кадра в секунду?
-
Это можно легко проверить скопировав эту букву, например, в редактор FAR - он покажет код символа и станет ясно русская или английская.
-
Оказывается есть возможность вызывать javascript: WebBrowser1.EvaluateJavaScript('alert("OK")');
-
В Windows можно работать c javascript через execScript (см. FMX.WebBrowser.Win), а как "общаться" с js на Android? Мне нужно выполнять свои скрипты, передавать данные в переменные.
-
А почему в Windows не срабатывает этот вариант при обычном Navigate?
-
На вкладе Effects есть столько Эффектов, но зачем они нужны и как их использовать неизвестно. Хотелось бы узнать их возможности.
-
В Windows не поддерживается.
-
У меня при наведении ничего не показывает (Yandex браузер)
-
Пропал год опубликования сообщения. Теперь когда читаешь форум, то не знаешь за какой год сообщение и соответственно не можешь понять о какой версии продукта идет речь. Верните пожалуйста как было.
-
Как узнать сколько свободного места на внутренней и внешней памяти (SD-карте)?
- 1 ответ
-
- место на диске
- внутренняя память
- (и ещё 2 )
-
Кривяков Виталий, проверил у себя - все работает, мусора нет, спасибо! Еще бы понять почему многоточий в конце нет как в Windows
-
Попробуйте запустить в режиме Debug-a запустить - прежде чем приложение умрет, оно выдаст ошибку, нажмите Break и посмотрите Call stack - возможно там будет видно где происходит ошибка.
- 7 ответов
-
- зависание
- виртуальная клавиатура
-
(и ещё 1 )
C тегом:
-
Вот принтскрины с 7дюймового Lenovo Компилировал сам в Берлине
-
Вот эту тему прочитайте, скорее всего аналогичная проблема.
- 7 ответов
-
- зависание
- виртуальная клавиатура
-
(и ещё 1 )
C тегом:
-
Может быть такой код поможет? unit UntNetwork; interface function IsConnected: Boolean; function IsWiFiConnected: Boolean; function IsMobileConnected: Boolean; implementation uses System.SysUtils, Androidapi.JNIBridge, Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.JavaTypes, FMX.Helpers.Android, Androidapi.Helpers{, Misc}; type JConnectivityManager = interface; JNetworkInfo = interface; JNetworkInfoClass = interface(JObjectClass) ['{E92E86E8-0BDE-4D5F-B44E-3148BD63A14C}'] end; [JavaSignature('android/net/NetworkInfo')] JNetworkInfo = interface(JObject) ['{6DF61A40-8D17-4E51-8EF2-32CDC81AC372}'] {Methods} function isAvailable: Boolean; cdecl; function isConnected: Boolean; cdecl; function isConnectedOrConnecting: Boolean; cdecl; end; TJNetworkInfo = class(TJavaGenericImport<JNetworkInfoClass, JNetworkInfo>) end; JConnectivityManagerClass = interface(JObjectClass) ['{E03A261F-59A4-4236-8CDF-0068FC6C5FA1}'] {Property methods} function _GetTYPE_WIFI: Integer; cdecl; function _GetTYPE_WIMAX: Integer; cdecl; function _GetTYPE_MOBILE: Integer; cdecl; {Properties} property TYPE_WIFI: Integer read _GetTYPE_WIFI; property TYPE_WIMAX: Integer read _GetTYPE_WIMAX; property TYPE_MOBILE: Integer read _GetTYPE_MOBILE; end; [JavaSignature('android/net/ConnectivityManager')] JConnectivityManager = interface(JObject) ['{1C4C1873-65AE-4722-8EEF-36BBF423C9C5}'] {Methods} function getActiveNetworkInfo: JNetworkInfo; cdecl; function getNetworkInfo(networkType: Integer): JNetworkInfo; cdecl; end; TJConnectivityManager = class(TJavaGenericImport<JConnectivityManagerClass, JConnectivityManager>) end; function GetConnectivityManager: JConnectivityManager; var ConnectivityServiceNative: JObject; begin ConnectivityServiceNative := SharedActivityContext.getSystemService(TJContext.JavaClass.CONNECTIVITY_SERVICE); if not Assigned(ConnectivityServiceNative) then raise Exception.Create('Could not locate Connectivity Service'); Result := TJConnectivityManager.Wrap( (ConnectivityServiceNative as ILocalObject).GetObjectID); if not Assigned(Result) then raise Exception.Create('Could not access Connectivity Manager'); end; function IsConnected: Boolean; var ConnectivityManager: JConnectivityManager; ActiveNetwork: JNetworkInfo; begin ConnectivityManager := GetConnectivityManager; ActiveNetwork := ConnectivityManager.getActiveNetworkInfo; Result := Assigned(ActiveNetwork) and ActiveNetwork.isConnected; end; function IsWiFiConnected: Boolean; var ConnectivityManager: JConnectivityManager; WiFiNetwork: JNetworkInfo; begin ConnectivityManager := GetConnectivityManager; WiFiNetwork := ConnectivityManager.getNetworkInfo(TJConnectivityManager.JavaClass.TYPE_WIFI); Result := WiFiNetwork.isConnected; end; function IsMobileConnected: Boolean; var ConnectivityManager: JConnectivityManager; MobileNetwork: JNetworkInfo; begin ConnectivityManager := GetConnectivityManager; MobileNetwork := ConnectivityManager.getNetworkInfo(TJConnectivityManager.JavaClass.TYPE_MOBILE); Result := MobileNetwork.isConnected; end; end. Хотя лично мне интересно как пропинговать какой-нибудь сервер (желательно без Indy компонент)...