@Override public Activity startActivitySync(Intent intent) { return base.startActivitySync(intent); }
@Before public void initActivity() { instrumentation = InstrumentationRegistry.getInstrumentation(); Instrumentation.ActivityMonitor monitor = new Instrumentation.ActivityMonitor(TestActivity.class.getName(), null, false); instrumentation.addMonitor(monitor); Intent intent = new Intent(instrumentation.getTargetContext(), TestActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); instrumentation.startActivitySync(intent); activity = instrumentation.waitForMonitor(monitor); assertNotNull(activity); }
@Override public Activity startActivitySync(Intent intent) { return base.startActivitySync(intent); }
@Override public Activity startActivitySync(Intent intent) { return base.startActivitySync(intent); }
@Override @CallSuper public Activity startActivitySync(Intent intent) { if (DEBUG) { Logger.d(TAG,"startActivitySync"); } return mInstrumentation.startActivitySync(intent); }
// Prepare a monitor for your activity Instrumentation instrumentation = getInstrumentation() Instrumentation.ActivityMonitor monitor = instrumentation.addMonitor(YourClass.class.getName(), null, false); // Start your activity manually Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClassName(instrumentation.getTargetContext(), YourClass.class.getName()); instrumentation.startActivitySync(intent); // Get the started Activity Activity currentActivity = getInstrumentation().waitForMonitor(monitor);
IntentFilter intF = new IntentFilter("ACTIVITY.THAT.YOU.WANT.TO.LAUNCH"); Instrumentation instrumentation = new Instrumentation(); Instrumentation.ActivityMonitor monitor = instrumentation.addMonitor(intF, null, true); Intent i = new Intent("ACTIVITY.THAT.YOU.WANT.TO.LAUNCH"); instrumentation.startActivitySync(i);
@SuppressWarnings("unchecked") public final <T extends Activity> T launchActivityWithIntent(String pkg, Class<T> activityCls, Intent intent) { intent.setClassName(pkg, activityCls.getName()); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); T activity = (T) getInstrumentation().startActivitySync(intent); getInstrumentation().waitForIdleSync(); return activity; }
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClassName(instrumentation.getTargetContext(), MyActivity.class.getName()); instrumentation.startActivitySync(intent);
public static Activity restartActivity(Activity activity, Instrumentation instrumentation, Intent intent){ String className = activity.getClass().getName(); Instrumentation.ActivityMonitor monitor = instrumentation.addMonitor(className, null, false); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClassName(instrumentation.getTargetContext(), className ); instrumentation.startActivitySync(intent); Activity newActivity = instrumentation.waitForMonitor(monitor); instrumentation.removeMonitor(monitor); return newActivity; }
/** Launch the activity if needed. */ @SuppressWarnings("unchecked") private void launchActivity() { if (activity != null && ActivityRunMode.SPECIFICATION.equals(activityRunMode)) return; String targetPackage = instrumentation.getTargetContext().getPackageName(); Intent intent = getLaunchIntent(targetPackage, activityClass, bundleCreator); activity = instrumentation.startActivitySync(intent); instrumentation.waitForIdleSync(); } }
@SuppressWarnings("unchecked") // Guarded by generics at the constructor. private void launchActivity() { if (activity != null) return; Instrumentation instrumentation = fetchInstrumentation(); String targetPackage = instrumentation.getTargetContext().getPackageName(); Intent intent = getLaunchIntent(targetPackage, activityClass); activity = (T) instrumentation.startActivitySync(intent); instrumentation.waitForIdleSync(); } }
public static void startActivity(String activity, @Nullable String waitActivity, @Nullable Long waitDuration) { logger.info(String.format("Starting activity '%s'", activity)); Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation(); String fullyQualifiedAppActivity = getFullyQualifiedActivityName(instrumentation, activity); String fullyQualifiedWaitActivity = isBlank(waitActivity) ? fullyQualifiedAppActivity : getFullyQualifiedActivityName(instrumentation, waitActivity); Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClassName(instrumentation.getTargetContext(), fullyQualifiedAppActivity); Instrumentation.ActivityMonitor activityStateMonitor = instrumentation .addMonitor(fullyQualifiedWaitActivity, null, false); instrumentation.startActivitySync(intent); if (waitDuration == null) { waitDuration = ACTIVITY_STARTUP_TIMEOUT; } Activity currentActivity = instrumentation.waitForMonitorWithTimeout(activityStateMonitor, waitDuration); if (currentActivity == null) { throw new IllegalStateException(String.format("Activity '%s' was unable to start within %sms timeout", fullyQualifiedWaitActivity, waitDuration)); } logger.info(String.format("Activity '%s' started", currentActivity.getLocalClassName())); } }