Ich habe ein Problem. Wenn ich versuche, meine Galerie auf verschiedenen Telefonen zu öffnen, funktioniert es nicht.Get Paketname des Standardbildes openner
Nun, was ich tun möchte, ist Paketnamen für die Standard-Galerie-Opener-App zu bekommen, damit ich es in meinem Code verwenden kann. Wie kann ich das programmatisch machen?
Hier ist, wie verwende ich bei Tests auf Nexus läuft 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");
Grundsätzlich alles, was ich tun müssen, ist für Bilder Paket Namen der Anwendung zu bekommen.