Lançamento da Galeria em telefones Android
Estou tentando iniciar a galeria do meu aplicativo quando o usuário clica na notificação. Descobri que isso só é possível se você souber o pacote e o nome da classe do aplicativo Gallery. Eu consegui encontrar o mesmo para quatro fabricantes de dispositivos, e até agora esse código funciona. Eu só preciso do pacote e nome da classe para telefones Motorola e LG Android.
Alguém pode ajudar? É muito fácil para você, se você é um desenvolvedor e possui um dispositivo Motorola ou LG Android. Você só precisa abrir a galeria no seu telefone enquanto estiver conectado ao LogCat, e ele mostrará o pacote e o nome da classe da Galeria.
CÓDIGO:
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);
E para verificar se o nome do pacote existe:
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;
}