먼저 지금 여기 ApplicationInfo 결과, packname, 콩에 대한 네 개의 목록을 만들이
public class Bean {
String appName;
String packName;
Drawable icon;
Date installTime;
Date updateTime;
int size;
}
같은 응용 프로그램 정보를 저장하기 위해 빈을 만들 수 있습니다.
public class AllApplications extends Activity {
List<ApplicationInfo> AppList;
private ArrayList<String>results;
private ArrayList<String>packName;
public ArrayList<Bean> list;
ProgressDialog progress;
ActivityManager am ;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_all_applications);
try
{
new LoadApps().execute();
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
Log.e("Exception",e.toString());
}
}
class LoadApps extends AsyncTask<Void, Void,String>
{
@Override
protected void onPreExecute() {
progress= ProgressDialog.show(AllApplications.this,"Loading",
"Please Wait");
}
@Override
protected String doInBackground(Void... params)
{
PackageManager pm = AllApplications.this.getPackageManager();
list = new ArrayList<Bean>();
AppList = new ArrayList<ApplicationInfo>();
AppList = pm.getInstalledApplications(0);
Log.e("Package info",""+AppList);
results = new ArrayList<String>();
packName = new ArrayList<String>();
Log.e("Total package list",""+AppList.size());
for(int i=0;i<AppList.size();i++)
{
Bean bean = new Bean();
ApplicationInfo appInfo = AppList.get(i);
try
{
PackageInfo packInfo = pm.getPackageInfo(appInfo.packageName,0);
try
{
java.lang.reflect.Field field1 = PackageInfo.class.getField("firstInstallTime");
long firstIns = field1.getLong(packInfo);
Date insDate = new Date(firstIns);
bean.installTime = insDate;
java.lang.reflect.Field field2 = PackageInfo.class.getField("lastUpdateTime");
long lastUpdate = field2.getLong(packInfo);
Date upDate = new Date(lastUpdate);
bean.updateTime = upDate;
}
catch (NoSuchFieldException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
catch (NameNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.e("ins package", "" + appInfo.packageName);
Log.e("ins package name", "" +appInfo.loadLabel(pm));
Log.e("launched activity :", "" + pm.getLaunchIntentForPackage(appInfo.packageName));
bean.appName = (String) appInfo.loadLabel(pm);
bean.packName = appInfo.packageName;
bean.icon = appInfo.loadIcon(getPackageManager());
list.add(bean);
// PackageInfo. this.firstInstallTime(a);
}
return null;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
progress.dismiss();
}
}}
이 기능을 사용하면 도움이 될만한 정보를 얻으실 수 있습니다.
예 우리는 설치된 모든 응용 프로그램 이름 n 해당 아이콘 실행기 및 설치된 시간, 업데이트 시간 등의 다른 정보를 얻을 수 있습니다. 코드 plz을 원하면 알려주세요 .. –
예, 저에게 보여 주시면 감사하겠습니다. 예제 코드. – vulgur
예 우리 기기에 설치된 앱 목록을 얻을 수 있습니다.이 링크를 참조하십시오 http://stackoverflow.com/questions/6165023/get-list-of-installed-android-applications – Meenal