Android获取手机应用

package yapplications;

public class Applications {
	
//	 private Drawable icon; // 存放图片
     private String label; // 存放应用程序名
     private String packageName; // 存放应用程序包名
    
     private String versionName;
     private int versionCode;
     private String installTime;



     public String getInstallTime() {
		return installTime;
	}

	public void setInstallTime(String installTime) {
		this.installTime = installTime;
	}

	public String getPackageName() {
		return packageName;
	}

	public void setPackageName(String packageName) {
		this.packageName = packageName;
	}

	public String getVersionName() {
		return versionName;
	}

	public void setVersionName(String versionName) {
		this.versionName = versionName;
	}

	public int getVersionCode() {
		return versionCode;
	}

	public void setVersionCode(int versionCode) {
		this.versionCode = versionCode;
	}

	public String getLabel() {
         return label;
     }

     public void setLabel(String label) {
         this.label = label;
     }

//     public String getPackageName() {
//         return packageName;
//     }
//
//     public void setPackageName(String packageName) {
//         this.packageName = packageName;
//     }

 }


package yapplications;

import java.util.ArrayList;
import java.util.List;







import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import ycore.DateFormatTools;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;

public class ApplicationsHelper {
	
	public static String getApplicationsStr(Context context) {
		JSONObject applicationsJson=new JSONObject();
		JSONArray arr=new JSONArray();
		PackageManager pManager = context.getPackageManager();
		List<PackageInfo> paklist = pManager.getInstalledPackages(0);
		ArrayList<Applications> appList  = new ArrayList<Applications>();  
		 if(paklist!=null) {
		for(int i=0;i<paklist.size();i++) {
			Applications app=new Applications();
		    PackageInfo pinfo = paklist.get(i);  
		    JSONObject obj=new JSONObject();
		    //set Icon  
//		 shareItem.setIcon(pManager.getApplicationIcon(pinfo.applicationInfo));  
		    //set Application Name
		    String label=pinfo.applicationInfo.loadLabel(pManager).toString();
		    app.setLabel(label);
		    
		    String packageName=pinfo.packageName;
		    app.setPackageName(packageName);
		    
		    String versionName=pinfo.versionName;
		    app.setVersionName(versionName);
		    
		    int versionCode=pinfo.versionCode;
		    app.setVersionCode(versionCode);
		    
		    long installTime=pinfo.firstInstallTime;
		    String time=DateFormatTools.DateFormat(installTime);
		    app.setInstallTime(time);

		    try {
		    	obj.put("name", label);
				obj.put("packageName", packageName);
				obj.put("versionName", versionName);
				obj.put("versionCode", versionCode);
				obj.put("installTime",time);
			} catch (JSONException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		    arr.put(obj);
		    appList.add(app);
		}	
		try {
			applicationsJson.put("applications", arr);
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return applicationsJson.toString();
		 }
		
		return null;
	}
	
	
	
//	public static List<PackageInfo> getAllApps(Context context) {  
//	    List<PackageInfo> apps = new ArrayList<PackageInfo>();  
//	    PackageManager pManager = context.getPackageManager();  
//	    //获取手机内所有应用  
//	    List<PackageInfo> paklist = pManager.getInstalledPackages(0);  
//	    for (int i = 0; i < paklist.size(); i++) {  
//	        PackageInfo pak = (PackageInfo) paklist.get(i);  
//	        //判断是否为非系统预装的应用程序  
////	        if ((pak.applicationInfo.flags & pak.applicationInfo.FLAG_SYSTEM) <= 0) {  
////	            // customs applications  
//	            apps.add(pak);  
////	        }  
//	    }  
//	    return apps;  
//	}  

}


上一篇:Android Studio 利用Gradle组织更清晰的打包脚本


下一篇:SAP ECC6.0内存参数调整和调优