2014-04-26 6 views
0

나는 설치된 응용 프로그램 중 하나를 선택하고 ListPreference에 응용 프로그램 패키지를 저장해야하는 응용 프로그램에서 작업을 수행했지만 작동하지 않는 것 같습니다. 솔루션, 어떤 도움이 될 것입니다.설치된 응용 프로그램의 ListPreference 채우기

답변

0

PackageManager.getInstalledApplications 메서드를 사용하면 설치된 응용 프로그램 목록을 가져올 수 있습니다.

및 사용 :

  1. PackageManager.getApplicationLabel(ApplicationInfo)ListPreference.setEntries의 레이블을 얻을.

  2. ApplicationInfo.packageNameListPreference.setEntryValues에 대한 패키지 이름을 가져 오십시오. 로

여기에 표시된 :

PackageManager pm = getPackageManager(); 
List<ApplicationInfo> appList = pm.getInstalledApplications(
     PackageManager.GET_META_DATA); 

int count = appList.size(); 
String[] appLabels = new String[count]; 
String[] pkgNames = new String[count]; 

for (int i = 0; i < count ; i++) { 
    ApplicationInfo app = appList.get(i); 
    appLabels[i] = pm.getApplicationLabel(app).toString(); 
    pkgNames[i] = app.packageName; 
} 

prefList.setEntries(appLabels); 
prefList.setEntryValues(pkgNames); 

그럼 당신은 어떤 항목에 대한 패키지 이름을 검색하고 해당 패키지의 ApplicationInfo 개체를 가져 PackageManager.getApplicationInfo를 사용할 수 있습니다.

관련 문제