2016-08-04 1 views
0

ListView에는 응용 프로그램 아이콘 목록 (텍스트는 ListView의 텍스트 만 없음)이 있습니다. arrayList에서 다른 응용 프로그램 아이콘을 얻고 있습니다. 내 문제는 내가 특정을 클릭하여 특정 응용 프로그램을 실행 할 것입니다 icons.Now응용 프로그램을 실행하는 방법은 listView에 배열 된 응용 프로그램 아이콘입니다

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을 만들었던 iconLListView 어댑터 : 다른 패키지 names.Here 코드입니다 ListView, 에서 사용할 수있는 앱 아이콘 listView에서 사용할 수있는 Whatsapp 앱 아이콘을 클릭하면 Whatsapp 앱이 실행되고, 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);

관련 문제