Delphi android应用程序在Lennova A5000手机中引发了问题
我正在使用Delphi 10 Seattle trail版本来开发移动应用程序.我试图创建新的Android移动应用程序,其中只包含TEditBox.然后通过将选项设置为“Release”进行编译.然后,生成.apk文件,然后将该文件提供给用户.当用户尝试单击编辑框时,应用程序会引发“Appname没有响应”的错误消息.
用户正在使用Lennova A5000,而Os则是Android 5.0.2. 同样的应用程序在我的Moto g2(5.0.2)和Micromax Yureka中运行. 此外,我已在谷歌应用商店更新了应用程序.然后,它显示为此设备的不兼容应用程序(Lennova A5000). 而且我还更新了所有的android SDK包.在此之后,它也提出了同样的问题. 我认为这可能是Embarcadreo Delphi或任何遗失包裹的问题?不知道该怎么办. 提前致谢. 解决方法
Atlast我从Embarcadreo网站获得了解决方案.请按照上述步骤操作.
1.将FMX.Platform.Android.pas复制到源/ fmx文件夹中的项目文件夹 >然后,执行以下过程中的更改. 程序TPlatformAndroid.RunOnUIThread(Proc:TThreadProcedure); procedure TPlatformAndroid.RunOnUIThread(Proc: TThreadProcedure); begin //MainActivity.runOnUiThread(TSimpleProcedureRunner.Create(Proc)); CallInUIThread( procedure() begin Proc; end); end; 程序TPlatformAndroid.SynchronizeOnUIThread(Proc:TThreadProcedure); procedure TPlatformAndroid.SynchronizeOnUIThread(Proc: TThreadProcedure); var Runner: TSimpleProcedureRunner; begin // CallInUIThread( // procedure() // begin // Runner := TSimpleProcedureRunner.Create(Proc); // MainActivity.runOnUiThread(Runner); // Runner.Event.WaitFor; // end); CallInUIThreadAndWaitFinishing( procedure() begin Proc; end); end; 程序TPlatformAndroid.SetClipboard(值:TValue); procedure TPlatformAndroid.SetClipboard(Value: TValue); var Setter: TClipboardSetter; begin Setter := TClipboardSetter.Create(Value.ToString); CallInUIThread( procedure() begin SharedActivity.runOnUiThread(Setter); end); Setter.Done.WaitFor(INFINITE); end; 功能TPlatformAndroid.GetClipboard:TValue; function TPlatformAndroid.GetClipboard: TValue; var Getter: TClipboardGetter; begin Getter := TClipboardGetter.Create; CallInUIThread( procedure() begin SharedActivity.runOnUiThread(Getter); end); Getter.Done.WaitFor(INFINITE); Result := Getter.Value; end; >然后,重建项目.这样做之后,每件事都很好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |