2010-01-05 2 views
3

홈 화면을 길게 누르고 응용 프로그램 바로 가기를 추가하기로 선택한 경우 모든 instal 응용 프로그램을 보여주는 listview로 인사합니다. 이 꽤 빠른입니다 런처 실행하면내 활동이 느린 설치된 응용 프로그램을 고르려는 의도는 무엇입니까?

 Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); 
     mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);    
     Intent pickIntent = new Intent(Intent.ACTION_PICK_ACTIVITY); 
     pickIntent.putExtra(Intent.EXTRA_INTENT, mainIntent); 
     this.startActivityForResult(pickIntent, MoreIconsConstants.REQUEST_PICK_APPLICATION) 

: 나는 내 응용 프로그램에서이 같은 기능은 그래서 런처 소스의 의도를 복사했습니다. 이 작업을 내 활동에서 실행할 때 3 초 대신 15 초가 걸립니다. 런처가 일정 시간 동안이 데이터를 캐싱해야하는 것처럼 보입니다. 데이터를 캐시 할 수있는 방법이 있습니까?

감사합니다.

+0

이미 실행 코드 소스에서 해당 코드를 가져온 경우 캐싱이 있는지 여부를 비교적 쉽게 확인할 수 있습니다. :) –

+0

캐싱을 위해 저에게 뛰어 내린 것을 보지 못했습니다. 그러나 하나가 빠르며 하나가 느리다는 사실을 변경하지 않습니다. 또한 내부에서 진행되는 코드를 찾을 수 없었습니다. 그 의도의 목록보기를 팝업. 어쩌면 캐싱이 거기에 진행 중일 수 있지만 어떤 이유로 런처에서만 작동합니다. 매우 실망합니다. – pcm2a

+0

어떻게 앱 목록에서 앱을 선택할 수 있었습니까? 나는 그것을 할 수 없다. – Mikey

답변

2

당신은 loadApplications이

나는 내가 한 그래서 같은 문제가 있었다 기능이 코드

final PackageManager pm = a.getPackageManager(); 

    Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); 
    mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); 

    final List<ResolveInfo> apps = pm.queryIntentActivities(mainIntent, 0); 
    Collections.sort(apps, new ResolveInfo.DisplayNameComparator(pm)); 

    for (int i = 0; i < apps.size(); i++) 
    { 
     ResolveInfo info = apps.get(i); 
     //Intent to start the app 
     Intent intent = new Intent(Intent.ACTION_MAIN); 
     intent.addCategory(Intent.CATEGORY_LAUNCHER); 
     intent.setComponent(new ComponentName(info.activityInfo.applicationInfo.packageName,info.activityInfo.name)); 
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 
     //Load app icon 
     info.activityInfo.loadIcon(pm) 
     //Load app label 
     info.loadLabel(pm) 
} 

확인이 예제 코드 http://developer.android.com/resources/samples/Home/src/com/example/android/home/Home.html 검색하여 설치할 모든 응용 프로그램을 읽을 수는을로드하는 것입니다 스레드에서 위의 코드에 의해 응용 프로그램.

관련 문제