2011-12-23 14 views
6

Tengo una aplicación que es el navegador de lanzamiento por la siguiente manera:¿Cómo captar la actividad del navegador?

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); 

tengo otro proyecto en el que AndroidJUnit Quiero coger esa actividad.

Con los siguientes pasos puedo ver MYProjectActivity, que es un navegador en ejecución, pero no pude ver el navegador.

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); 

¿Alguien sabe cómo hacer esto?

+0

Intenté capturar el inicio del navegador con un ActivityMonitor pasando un IntentFilter en lugar de una clase al método addMonitor(), y usando Intent.ACTION_VIEW en el IntentFilter. No funcionó en mi código, pero creo que es causado por algún otro problema, así que tal vez funcione para usted. –

+0

Ene, gracias por su respuesta

Respuesta

0

No estoy seguro de cómo supervisar el navegador como que está solicitando, pero que ofrece una idea alternativa:

Es necesario sopesar cuáles son sus razones para utilizar el navegador, pero ¿ha considerado el uso de un WebView vez ? Le permite mucho más control ya que puede colocarlo en una Actividad y observar el tráfico intencionado, así como la Subclase WebView para obtener información de devolución de llamada más detallada si la necesita.

Cuestiones relacionadas