Android - 如何重新启动干净的应用程序实例

时间:2015-08-31 07:18:14

标签: android instance restart

我正在使用Android蓝牙库连接到远程桌面。当与桌面的连接丢失时,我想重新启动一个新的应用程序实例(这将极大地方便我的连接处理丢失)。

我试过这段代码:

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

但在那之后,我仍然无法重新连接,而如果我手动杀死并重新启动应用程序,它可以正常工作。

2 个答案:

答案 0 :(得分:1)

当您检测到丢失并再次找到连接时,您可以重新启动Activity。您可以使用以下代码重新启动活动:

public void reload() {
    Intent intent = getIntent();
    overridePendingTransition(0, 0);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    finish();

    overridePendingTransition(0, 0);
    startActivity(intent);
}

答案 1 :(得分:0)

您确定要重新启动活动吗?用户将看到转换,这将是一个更缓慢的应用程序。此外,重新启动活动与重新启动应用程序非常不同。

如何连接到遥控器可能存在问题,调试它可能会有所帮助。如果您发布代码,其他人可以提供帮助。