我試圖在用戶點擊通知時從我的應用程序啓動畫廊。我發現只有知道圖庫應用程序的包和類名時纔有可能。我設法爲四個設備製造商找到了相同的代碼,到目前爲止,這些代碼都可以工作。 我只需要摩托羅拉和LG Android手機的套件和類名稱。在Android手機中啓動畫廊
任何人都可以幫忙嗎?如果您是開發人員並擁有摩托羅拉或LG Android設備,對您來說非常容易。您只需在連接到LogCat的同時在手機中啓動畫廊,並顯示畫廊的包和類名。
CODE:
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;
}
這就是要點,我不希望用戶選擇任何圖像,我希望他只是直接前往Gallery應用程序。 – vividh
這通常不是Android用戶期望的。如果他們已經將MyFooView設置爲他們喜歡的圖像查看應用程序,那麼如果您無條件啓動您想要的圖像,他們將會生氣。 –
只有當他們點擊通知時,纔不是無條件的。當用戶從我的下載實用程序下載照片並點擊它時,我會顯示通知,用戶將被帶到圖庫以顯示下載的照片。 – vividh