Delphi android应用程序在Lennova A5000手机中引发了问题

前端之家收集整理的这篇文章主要介绍了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;

>然后,重建项目.这样做之后,每件事都很好.

猜你在找的Delphi相关文章