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;
//	}  

}
时间: 2024-09-20 04:13:55

Android获取手机应用的相关文章

Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法

  Android获取手机屏幕宽高.状态栏高度以及字符串宽高信息的方法         这篇文章主要介绍了Android获取手机屏幕宽高.状态栏高度以及字符串宽高信息的方法,涉及Android获取文字宽高.状态栏高度.textView宽度及屏幕尺寸的相关技巧,需要的朋友可以参考下 首先定义TextView对象commentText 获取文字的宽高: ? 1 2 3 4 5 6 7 8 TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLA

Android获取手机SIM卡运营商信息的方法_Android

本文实例讲述了Android获取手机SIM卡运营商信息的方法,对于Android程序设计有非常实用的价值.分享给大家供大家参考之用.具体方法如下: 主要功能代码如下: /** * 获取SIM卡运营商 * * @param context * @return */ public static String getOperators(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemServic

Android获取手机位置的实现代码_Android

本文实例为大家分享了Android获取手机位置的方法,供大家参考,具体内容如下 1.项目Src下创建...service包,然后新建GPSService类 package com.zebra.mobilesafe.service; import java.io.IOException; import java.io.InputStream; import android.app.Service; import android.content.Intent; import android.cont

Android获取手机的版本号等信息的代码_Android

本文实例分享了Android获取手机系统版本等信息的方法,供大家参考,具体内容如下: 第一种代码: String phoneInfo = "Product: " + android.os.Build.PRODUCT; phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI; phoneInfo += ", TAGS: " + android.os.Build.TAGS; phoneInfo +=

android 获取手机GSM/CDMA信号信息,并获得基站信息的方法_Android

在Android中我们常用的轻松获取WIFI信号列表,那如何获取CDMA或者GSM的手机信号呢? 系统提供了TelephonyManager类,此类非常丰富,基本你所需要的手机信息都能获取到,那下面就来看看我们所需要的CDMA与GSM信号是如何获取的吧. private TelephonyManager telephonyManager; private PhoneStateListener phoneStateListener; 首先声明两个变量 在onCreate()方法中初始化变量 Ini

Android获取手机通讯录、sim卡联系人及调用拨号界面方法_Android

android获取手机通讯录联系人信息 复制代码 代码如下: private void getPhoneContacts() {        ContentResolver resolver = this.getContentResolver();                // 获取手机联系人       Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,                  new String[] { Phone

Android 获取手机联系人实例代码详解_Android

我的风格,废话不多说了,直接给大家贴代码了. 具体代码如下所示: package com.org.demo.demo; import com.org.wangfeng.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Butt

Android获取手机系统版本等信息的方法_Android

本文实例讲述了Android获取手机系统版本等信息的方法.分享给大家供大家参考.具体如下: String phoneInfo = "Product: " + android.os.Build.PRODUCT; phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI; phoneInfo += ", TAGS: " + android.os.Build.TAGS; phoneInfo += &qu

android 获取手机内存及 内存可用空间的方法

实例如下: //1.获取内存可用大小,内存路径 String path=Environment.getDataDirectory().getAbsolutePath(); String memoryAvaliSpace= Formatter.formatFileSize(this,getAvailSpace(path)); //2.获取sd卡可用大小,sd卡路径 String sdPath=Environment.getExternalStorageDirectory().getAbsolute

Android 获取手机联系人实例代码详解

我的风格,废话不多说了,直接给大家贴代码了. 具体代码如下所示: package com.org.demo.demo; import com.org.wangfeng.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Butt