android - 以编程方式重启应用程序?

标签 android

<分区>

我需要以编程方式重启应用程序。我的启动器 Activity 称为“登录”,登录后,主要 Activity 称为“”。我想从主要 Activity 中重新启动应用程序。所以我有以下内容:

Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);

这将显示“登录” Activity ,但是当我按下返回键时,我将返回到之前的 Activity 。

有没有更好的方法来真正重启应用程序?

最佳答案

试试下面的代码

Intent i = getBaseContext().getPackageManager().
           getLaunchIntentForPackage(getBaseContext().getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);

在调用你的第二个 Activity 调用之前还有一件事

finish();

关于android - 以编程方式重启应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34065087/

相关文章:

android - WebView 未加载 ViewPager

android - 安全地存储凭据

android - 如何从我的 Android 应用程序调用 Parse Cloud Code 函数?

android - 如何以编程方式隐藏/禁用 Android 软键盘上的表情符号

android - 制作签名 APK 后应用程序崩溃?

android - 将变量从服务传递到广播接收器

javascript - 使用与移动端相同的 API 开发网站

java - 按钮内的文本太大自动调整大小?

java - Android:画廊选择器和相机 Intent 在 onActivityresult 上崩溃

android - 如何在 Android 版 CordovaWebView 中加载网页?