У меня проблема. При выполнении моих тестов на разных телефонах при попытке открыть галерею он не работает.Получить полное имя по умолчанию openner
Теперь, что я хочу сделать, это получить имя пакета для браузера по умолчанию, поэтому я могу использовать его в своем коде. Как я могу сделать это программно?
Вот как я использую при выполнении тестов на Nexus 5.
Resources resources = InstrumentationRegistry.getTargetContext().getResources();
Uri imageUri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" +
resources.getResourcePackageName(R.drawable.ic_launcher) + '/' +
resources.getResourceTypeName(R.drawable.ic_launcher) + '/' +
resources.getResourceEntryName(R.drawable.ic_launcher));
Intent resultData = new Intent();
resultData.setData(imageUri);
Instrumentation.ActivityResult result = new Instrumentation.ActivityResult(Activity.RESULT_OK, resultData);
intending(toPackage("com.google.android.apps.photos")).respondWith(result);
//Click the select button
onView(withId(R.id.register_image)).perform(click());
threadSleep(MILISECONDS_TIMEOUT);
onView(withText("From Gallery")).perform(click());
threadSleep(MILISECONDS_TIMEOUT);
Spoon.screenshot(getActivityInstance(), "picture_selected");
В принципе, все что мне нужно сделать, чтобы получить имя пакета приложения для изображений.