6
私は次の方法で起動ブラウザでアプリを持っている:私はその活動をキャッチしたい別のAndroidJUnitプロジェクトを持っているブラウザアクティビティをキャッチするには?
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);
を。
次の手順では、ブラウザを実行しているMYProjectActivityをキャッチできますが、ブラウザをキャッチできませんでした。
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);
誰でもこの方法を知っていますか?
クラスの代わりにIntentFilterをaddMonitor()メソッドに渡し、IntentFilterでIntent.ACTION_VIEWを使用して、ActivityMonitorでブラウザを開始しようとしました。私のコードでは機能しませんでしたが、それは他のいくつかの問題によって引き起こされたものだと思います。 –
Jan、あなたの答えをありがとうございます。<しかし、このアクティビティモニターはstartActivitySyncメソッドに対してのみ機能すると付け加えておきます。私のアプリケーションでは、startActivityを使用しています。このメソッドでは動作しません。 –