当前位置:编程学习 > wap >>

获取手机应用信息

SystemUtils.java工具类
 
[java] 
package com.techrare.utils;  
  
import java.util.ArrayList;  
import java.util.List;  
  
import android.content.Context;  
import android.content.Intent;  
import android.content.pm.PackageInfo;  
import android.content.pm.PackageManager;  
import android.content.pm.ResolveInfo;  
  
/** 
 * 获取手机应用信息 
 * @author Administrator 
 * 
 */  
public class SystemUtils {  
    /** 
     * 查询手机内所有应用包括系统应用 
     * @param context 
     */  
    public static List<PackageInfo> getAllApps(Context context) {     
        PackageManager pManager = context.getPackageManager();    
        //获取手机内所有应用       
        List<PackageInfo> paklist = pManager.getInstalledPackages(0);  
        return paklist;  
    }  
      
      
    /**    
     * 查询手机内非系统应用    
     * @param context    
     * @return    
     */       
    public static List<PackageInfo> getAllAppsNoSystem(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;       
    }      
      
        
    /**    
     * 查询手机内所有支持分享的应用    
     * @param context    
     * @return    
     */       
    public static List<ResolveInfo> getShareApps(Context context){       
        List<ResolveInfo> mApps = new ArrayList<ResolveInfo>();         
        Intent intent=new Intent(Intent.ACTION_SEND,null);         
        intent.addCategory(Intent.CATEGORY_DEFAULT);         
        intent.setType("text/plain");         
        PackageManager pManager = context.getPackageManager();       
        mApps = pManager.queryIntentActivities(intent,PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);         
               
        return mApps;         
    }   
      
    /* 备注:  
        通过 PackageInfo  获取具体信息方法: 
        包名获取方法:packageInfo.packageName 
        icon获取获取方法:packageManager.getApplicationIcon(applicationInfo) 
        应用名称获取方法:packageManager.getApplicationLabel(applicationInfo) 
        使用权限获取方法:packageManager.getPackageInfo(packageName,PackageManager.GET_PERMISSIONS).requestedPermissions 
        通过 ResolveInfo 获取具体信息方法: 
        包名获取方法:resolve.activityInfo.packageName 
        icon获取获取方法:resolve.loadIcon(packageManager) 
        应用名称获取方法:resolve.loadLabel(packageManager).toString() 
     */  
}  
补充:移动开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,