2016-08-04 5 views
0

ListViewにはアプリアイコンのリスト(ListViewのテキストのみの画像はありません)が含まれています。arrayListから別のアプリアイコンを取得しています異なるパッケージnames.Hereはコードです:私の問題は、私は特定のをクリックすることで、特定のアプリを起動したいということですicons.Nowアプリケーションを起動する方法は、リストビューに配置されたアプリアイコンです

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(); 
     } 
    } 

ListViewアダプタでiconLを設定した後、私は成功したアプリのListViewを作成していましたアプリアイコンはListView、 などで利用できます。 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

は同じ順序でそれらを格納します。アプリアイコンをクリックすると、このインデックスを持つパッケージ名を取得します。つまり、リスト内の2番目のアイコンを使用するpakageList.get(2) – uguboz

+0

あなたのアイデアは良いです。あなたが私に例のコードを教えてください。それは私にとって非常に役に立ちます:) – Adarsh

1

パッケージ名とを取得し、

LaunchIntent = getPackageManager()インテントgetLaunchIntentForPackage( "com.example.abc")。 startActivity(LaunchIntent);

関連する問題