/**
* 查询手机内非系统应用
* @param context
* @return
*/
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;
}
/**
* 获取支持分享的应用
* @param context
* @return
*/
/**
* 获取图片、应用名、包名
*/
public String getAppPackage(){
PackageManager packageManager = this.getPackageManager();
List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0);
PackageManager pManager = GameAndroidActivity.this.getPackageManager();
List<PackageInfo> appList = getAllApps(GameAndroidActivity.this);
String strPackagename="";
String strname="";
for(int i=0;i<appList.size();i++) {
PackageInfo pinfo = appList.get(i);
strPackagename=pinfo.applicationInfo.packageName;
Drawable strIcon=pManager.getApplicationIcon(pinfo.applicationInfo);
strname= pManager.getApplicationLabel(pinfo.applicationInfo).toString();
if(strname.equals("天气通")){
break;
}
}
return strPackagename;
}
/**
* 获取图片、应用名、包名
*/
public String getAppPack(){
PackageManager pManager = GameAndroidActivity.this.getPackageManager();
String strPackagename="";
String strname="";
/*********************查询手机内所有支持分享的应用*********************/
List<ResolveInfo> resolveList = getShareApps(GameAndroidActivity.this);
for(int i=0;i<resolveList.size();i++) {
ResolveInfo resolve = resolveList.get(i);
strPackagename=resolve.activityInfo.packageName;
strname= resolve.loadLabel(pManager).toString();
Drawable icon=resolve.loadIcon(pManager);
}
return (strPackagename);
}