2011-12-23 8 views
6

Mam aplikację, która jest przeglądarka uruchamiania przez następny sposób:Jak przechwytywać aktywność przeglądarki?

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

mam inny projekt AndroidJUnit w którym chcę złapać tę działalność.

Z następnymi krokami mogę złapać MYProjectActivity, która jest przeglądarką, ale nie mogłem złapać przeglądarki.

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

Czy ktoś wie, jak to zrobić?

+0

Próbowałem przechwycić początek przeglądarki za pomocą ActivityMonitora, przekazując metodę IntentFilter zamiast klasy do metody addMonitor() i używając metody Intent.ACTION_VIEW w filtrze IntentFilter. To nie działało w moim kodzie, ale myślę, że jest to spowodowane innym problemem, więc może to działa dla ciebie. –

+0

Jan, dziękuję za odpowiedź

Odpowiedz

0

Nie jestem pewien, jak monitorować przeglądarkę jak żądasz, ale oferując alternatywę myśl:

Musisz ważyć się, jakie powody są za pomocą przeglądarki, ale Czy można uznać za pomocą WebView zamiast ? Pozwala to na znacznie większą kontrolę, ponieważ jest w stanie umieścić go w działaniu i obserwować ruch intencyjny, a także podrzędny WebView, aby uzyskać bardziej szczegółowe informacje zwrotne, jeśli jest to potrzebne.

Powiązane problemy