2016-08-04 35 views
0

我有一個ListView其中包含應用程序圖標列表(ListView沒有文本只有圖像)。我從arrayList獲得不同的應用程序圖標,其中包含不同的封裝names.Here是代碼:如何啓動應用程序的圖標是安排在列表中查看

for(String a:arr){ //arr is the arrayList which contains list of different apps package names 
     try { 

      drawable = getPackageManager().getApplicationIcon(a); 
      iconL.add(drawable); //iconL is Drawable type arrayList which stores different app icons 


     } 
     catch (PackageManager.NameNotFoundException e){ 
      Toast.makeText(Window.this,"error",Toast.LENGTH_SHORT).show(); 
     } 
    } 

凝固後,用iconL適配器ListView我已經成功地創建應用程序的ListView icons.Now我的問題是,我想通過點擊特定要啓動特定的應用程序在ListView, 中可用的應用程序圖標當我點擊中的Whatsapp應用程序圖標時,它應該啓動Whatsapp應用程序,並且如果我點擊Facebook應用程序圖標,它應該啓動Facebook應用程序等。請告訴我該怎麼做。

回答

0

與圖標的字符串列表存儲包名和啓動應用程序如下:

String package1 = getApplicationContext().getPackageName(); 

Intent launchIntent = getPackageManager().getLaunchIntentForPackage(package1); 
if (launchIntent != null) { 
    startActivity(launchIntent);//null pointer check in case package name was not found 
} 
+0

不,我不希望顯示的字符串列表列表view.I只想顯示應用程序圖標沒有任何其他解決方案 – Adarsh

+0

以相同的順序存儲它們。所以當你點擊一個應用程序圖標時,用這個索引獲取包名稱。即列表中的第二個圖標使用pakageList.get(2) – uguboz

+0

你的想法很好,你可以給我一個示例代碼。它會對我很有幫助:) – Adarsh

1

檢索包名稱,然後,

意圖LaunchIntent = getPackageManager()getLaunchIntentForPackage( 「com.example.abc」); startActivity(LaunchIntent);

相關問題