3
시스템은 설치 중에 평가되는 해당 AndroidManifest.xml
파일에 선언 된대로 사용 가능한 활동에 대해 알아야하므로 :
이러한 활동을 쿼리하는 방법이 있습니까?시스템에서 사용 가능한 모든 활동 목록
시스템은 설치 중에 평가되는 해당 AndroidManifest.xml
파일에 선언 된대로 사용 가능한 활동에 대해 알아야하므로 :
이러한 활동을 쿼리하는 방법이 있습니까?시스템에서 사용 가능한 모든 활동 목록
확실히, PackageManager.getInstalledPackages
방법을보십시오.
List<PackageInfo> pInfos = getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES);
for (PackageInfo pInfo : pInfos) {
ActivityInfo[] aInfos = pInfo.activities;
if (aInfos != null) {
for (ActivityInfo activityInfo : aInfos) {
Log.i("ACT", activityInfo.name);
// do whatever else you like...
}
}
}
ArrayList<PackageInfo> res = new ArrayList<PackageInfo>();
PackageManager pm = ctx.getPackageManager();
List<PackageInfo> packs = pm.getInstalledPackages(0);
for(int i=0;i<packs.size();i++) {
PackageInfo p = packs.get(i);
String description = (String) p.applicationInfo.loadDescription(pm);
String label= p.applicationInfo.loadLabel(pm).toString();
String packageName = p.packageName;
String versionName = p.versionName;
String versionCode = p.versionCode;
String icon = p.applicationInfo.loadIcon(pm);
//Continue to extract other info about the app...
}
참고 :
<uses-permission android:name="android.permission.GET_TASKS" />
은 위의 코드에 이것을 추가 : 매니페스트 파일에이 권한을 추가
PackageManager.getactivities -- I have not used this PackageManager.getactivities but I hope it will work for you....
'다음은 인쇄 등록 활동 이름의 예입니다 pm.getInstalledPackages (0)'- PackageManager가 반환해야하는 정보의 종류 (예 : PackageManager.GET_ACTIVITIES)를 지정해야하므로 작동하지 않습니다. 내 대답을 확인하십시오. Btw, 'android.permission.GET_TASKS'는 내가 그것없이 처리 할 수 있었던 활동을 열거 할 필요가 없습니다. – Idolon
PackageManager.GET_ACTIVITIES에 대해 언급했는데 위의 코드로 장치에 설치된 앱 목록을 가져 오는 데 사용한 코드를 추가했습니다 ... –
'getApplicationContext()'가 필요하지 않습니다 - 단지'getPackageManager()'를 on 'ctx'. – CommonsWare