实现代码重启android app.

Posted kinglandsoft

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现代码重启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,
      223344 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 

 

以上是关于实现代码重启android app.的主要内容,如果未能解决你的问题,请参考以下文章