Запуск галереи в телефонах Android
Я пытаюсь запустить галерею из моего приложения, когда пользователь нажимает на уведомление. Я обнаружил, что это возможно только в том случае, если вы знаете пакет и имя класса приложения Галерея. Мне удалось найти то же самое для четырех производителей устройств, и пока этот код работает. Мне просто нужно название пакета и класса для телефонов Motorola и LG Android.
Кто-нибудь может помочь? Это очень просто для вас, если вы разработчик и владеете устройством Android от Motorola или LG. Вам просто нужно запустить галерею в вашем телефоне при подключении к LogCat, и он покажет пакет и имя класса галереи.
КОД:
Intent newIntent = new Intent();
//open Gallery in Nexus plus All Google based ROMs
if(doesPackageExist("com.google.android.gallery3d"))
newIntent.setClassName("com.google.android.gallery3d", "com.android.gallery3d.app.Gallery");
//open Gallery in Sony Xperia android devices
if(doesPackageExist("com.android.gallery3d"))
newIntent.setClassName("com.android.gallery3d", "com.android.gallery3d.app.Gallery");
//open gallery in HTC Sense android phones
if(doesPackageExist("com.htc.album"))
newIntent.setClassName("com.htc.album", "com.htc.album.AlbumMain.ActivityMainCarousel");
//open gallery in Samsung TouchWiz based ROMs
if(doesPackageExist("com.cooliris.media"))
newIntent.setClassName("com.cooliris.media", "com.cooliris.media.Gallery");
startActivity(newIntent);
И проверить, существует ли имя пакета:
public boolean doesPackageExist(String targetPackage) {
PackageManager pm = getPackageManager();
try {
PackageInfo info = pm.getPackageInfo(targetPackage, PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
return false;
}
return true;
}