Android Instrumentation:如何返回到先前启动的Activity?

3
我目前正在使用一个应用程序运行自动化测试,该应用程序使用多个Activity来显示每个屏幕。
在运行Instrumentation测试时,有没有办法返回到先前启动的Activity?目前,当我使用sendKeyDownUpSync(KeyEvent.KEYCODE_BACK)时,这会强制我的测试退出,而不是返回到先前的Activity。
非常感谢您提供的任何帮助。
Jin
4个回答

6
您可以尝试在要关闭的Activity上调用finish()方法。

1

您也可以使用方法来实现这一点。虽然这不是推荐的方法,但以下是可用的代码。

public void launchActivityCurrent() {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        System.out.println("Inside Launch  Activity current");
                      intent.setClassName("YourpackageName","Activity you want to launch");
                      For ex:
        intent.setClassName("com.android.mms","com.android.mms.ui.ConversationList");
        Context c = currentContext();
        c.startActivity(intent);
    }

我使用Robotium,不再调用Instrumentation,因此我使用这种方式来启动应用程序活动。希望这对您也有用。


1

太棒了。 finish() 很好用 :) 当然,除非 Android Runtime 杀死之前的活动以释放资源。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接