Ho un app che è il browser di lancio per la via successiva:Come rilevare l'attività del browser?
Uri uri = Uri.parse(getURL());
Context context = widget.getContext();
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
context.startActivity(intent);
ho un altro progetto AndroidJUnit in cui voglio prendere tale attività.
Con i passaggi successivi riesco a catturare MYProjectActivity, che sta eseguendo il browser, ma non sono riuscito a catturare il browser.
Instrumentation instrumentation = getInstrumentation();
// Register we are interested in the authentication activiry...
Instrumentation.ActivityMonitor monitor = instrumentation.addMonitor(MYProjectActivity.class.getName(), null, false);
// Start the authentication activity as the first activity...
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName(instrumentation.getTargetContext(), MYProjectActivity.class.getName());
instrumentation.startActivitySync(intent);
// Wait for it to start...
Activity currentActivity = getInstrumentation().waitForMonitorWithTimeout(monitor, 5);
Qualcuno sa come farlo?
Ho tentato di avviare il browser con un ActivityMonitor passando un IntentFilter anziché una classe al metodo addMonitor() e utilizzando Intent.ACTION_VIEW in IntentFilter. Non ha funzionato nel mio codice, ma penso che sia causato da qualche altro problema, quindi forse funziona per te. –
Jan, Grazie per la risposta