Delphi 实现代码重启android app


本文整理自网络,侵删。

 
var
  Form1: TForm1;

implementation

uses
  System.DateUtils,
  Androidapi.JNI.GraphicsContentViewText,
  FMX.Platform.Android,
  Androidapi.Helpers,
  Androidapi.JNI.App
  ;
{$R *.fmx}

procedure ReStartApp();
var
  LPM : JPackageManager;
  LIntent_Start : JIntent;
  LPendingIntent : JPendingIntent;
  LMS : Int64;
begin
  LPM := TAndroidHelper.Context.getPackageManager();
  LIntent_Start := LPM.getLaunchIntentForPackage(
      TAndroidHelper.Context.getPackageName()
      );
  LIntent_Start.addFlags( TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP );

  LPendingIntent := TJPendingIntent.JavaClass.getActivity(
      TAndroidHelper.Context,
{RequestCode},
      LIntent_Start,
      TJPendingIntent.JavaClass.FLAG_CANCEL_CURRENT
      );

// System.currentTimeMillis() is "wall clock time in UTC".
//  LMS := DateTimeToUnix( Now, False {InputIsUTC} ) * 1000; //slow
  LMS := LMS + System.DateUtils.MilliSecondOf( Now ); //Fast

  TAndroidHelper.AlarmManager.&set(
      TJAlarmManager.JavaClass.RTC,
      LMS + 500,
      LPendingIntent
      );

  TAndroidHelper.Activity.finish();

end;

https://forums.embarcadero.com/thread.jspa?threadID=252411 

进一步学习上面代码,可以参考:https://blog.csdn.net/lindroid/article/details/83621590

相关阅读 >>

Delphi cef4Delphi 浏览器事件

Delphi 关于rs485总线通信协议开发注意事项

Delphi实现暴力瞬间关机

Delphi xe6 firemonkey移动应用程序的twebbrowser html页面上运行javascript

Delphi datasnap中间件如何控制长连接的客户端连接?

Delphi xe 下打开内存泄漏调试功能

Delphi access数据库密码的mdb的访问报错“无法启动应用程序,或是已被其他用户已独占方式打开”

Delphi 获取系统注册的文件图标

Delphi 获取windows任务栏的高度

Delphi label设置为背景透明

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...