欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

android 重新启动应用程序,在AsyncTask完成后重新启动完整的Android应用程序

发布时间:2025/3/11 Android 83 豆豆
生活随笔 收集整理的这篇文章主要介绍了 android 重新启动应用程序,在AsyncTask完成后重新启动完整的Android应用程序 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

我编码的应用程序检查/ sdcard下的目录中是否有特殊的ZIP文件,如果没有,则开始下载并解压缩.即使是子目录,下载和解压缩也可以工作.但是我需要在完成后重新启动应用程序 – 这不起作用.

起初我有一个特殊的活动“PreMainActivity.java”只是为了重新启动目的:

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

public class PreMainActivity extends Activity

{

/**

*

*/

public static Boolean ENABLE_RESTART = false;

@Override

public void onCreate(final Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

PreMainActivity.ENABLE_RESTART = true;

restartMain();

}

@Override

public void onRestart()

{

super.onRestart();

restartMain();

}

/**

*

*/

public void restartMain()

{

if (PreMainActivity.ENABLE_RESTART == true)

{

final Intent mainIntent = new Intent(this,MainActivity.class);

mainIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(mainIntent);

finish();

}

else

{

finish();

}

PreMainActivity.ENABLE_RESTART = false;

}

}

然后我在DownloadFile.java中得到了一些代码

@Override

protected void onPostExecute(final String result)

{

MainActivity.mProgressDialogDownload.dismiss();

PreMainActivity.ENABLE_RESTART = true;

final Intent i = new Intent(MainActivity.this,PreMainActivity.class);

i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

startActivity(i);

}

据我所研究,我需要将MainActivity的上下文传递给DownloadFile.java – 但我仍然不知道如何.任何人都可以告诉我如何将上下文传递到同一个包中的单独文件中的AsyncTask吗?或任何其他提示如何在AsyncTask完成后重新启动整个应用程序?

总结

以上是生活随笔为你收集整理的android 重新启动应用程序,在AsyncTask完成后重新启动完整的Android应用程序的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。