获取安装应用程序apk的信息
2013-09-03 15:51
267 查看
获取已经安装的apk的信息
private PackageManager pm;
private List<ApplicationInfo> list;
pm=getActivity().getPackageManager();
list=pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_DISABLED_COMPONENTS);
获得应用程序的名字
list.get(position).loadLabel(pm).toString();
获得应用程序的icon
list.get(position).loadIcon(pm);
获得应用程序的包名
list.get(position).packageName;
/**
*
*
* @param packageName
* @param context
* @throws NameNotFoundException
*/
public static void openApp(String packageName, Context context)
throws NameNotFoundException {
pi = context.getPackageManager().getPackageInfo(packageName, 0);
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(pi.packageName);
pm = context.getPackageManager();
List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);
ResolveInfo ri = apps.iterator().next();
if (ri != null) {
packageName = ri.activityInfo.packageName;
String className = ri.activityInfo.name;
// Drawable db=ri.activityInfo.applicationInfo.loadIcon(pm);
// ivWifi.setImageDrawable(db);
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName(packageName, className);
intent.setComponent(cn);
context.startActivity(intent);
}
}
public static String getAppName(String packageName, Context context)
throws NameNotFoundException {
String strName = null;
pi = context.getPackageManager().getPackageInfo(packageName, 0);
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(pi.packageName);
pm = context.getPackageManager();
List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);
ResolveInfo ri = apps.iterator().next();
if (ri != null) {
strName = (String) ri.activityInfo.applicationInfo.loadLabel(pm);
}
return strName;
}
public static boolean checkApkExist(Context context, String packageName) {
if (packageName == null || "".equals(packageName))
return false;
try {
ApplicationInfo info = context.getPackageManager()
.getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
public static Drawable getAppDrawable(String packageName, Context context)
throws NameNotFoundException {
Drawable drawable = null;
pi = context.getPackageManager().getPackageInfo(packageName, 0);
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(pi.packageName);
pm = context.getPackageManager();
List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);
ResolveInfo ri = apps.iterator().next();
if (ri != null) {
drawable = ri.activityInfo.applicationInfo.loadIcon(pm);
}
return drawable;
}
/**
*
*
* @param visible
* @param activity
*/
public static void updateWallpaperVisibility(boolean visible,
Activity activity) {
int wpflags = visible ? WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER
: 0;
int curflags = activity.getWindow().getAttributes().flags
& WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
if (wpflags != curflags) {
activity.getWindow().setFlags(wpflags,
WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER);
}
}
找到launcher上面的应用程序
/**
* Query the package manager for MAIN/LAUNCHER activities in the supplied package.
*/
private List<ResolveInfo> findActivitiesForPackage() {
final PackageManager packageManager = getActivity().getPackageManager();
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List<ResolveInfo> apps = packageManager.queryIntentActivities(mainIntent, 0);
return apps != null ? apps : new ArrayList<ResolveInfo>();
}
private PackageManager pm;
private List<ApplicationInfo> list;
pm=getActivity().getPackageManager();
list=pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_DISABLED_COMPONENTS);
获得应用程序的名字
list.get(position).loadLabel(pm).toString();
获得应用程序的icon
list.get(position).loadIcon(pm);
获得应用程序的包名
list.get(position).packageName;
/**
*
*
* @param packageName
* @param context
* @throws NameNotFoundException
*/
public static void openApp(String packageName, Context context)
throws NameNotFoundException {
pi = context.getPackageManager().getPackageInfo(packageName, 0);
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(pi.packageName);
pm = context.getPackageManager();
List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);
ResolveInfo ri = apps.iterator().next();
if (ri != null) {
packageName = ri.activityInfo.packageName;
String className = ri.activityInfo.name;
// Drawable db=ri.activityInfo.applicationInfo.loadIcon(pm);
// ivWifi.setImageDrawable(db);
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName(packageName, className);
intent.setComponent(cn);
context.startActivity(intent);
}
}
public static String getAppName(String packageName, Context context)
throws NameNotFoundException {
String strName = null;
pi = context.getPackageManager().getPackageInfo(packageName, 0);
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(pi.packageName);
pm = context.getPackageManager();
List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);
ResolveInfo ri = apps.iterator().next();
if (ri != null) {
strName = (String) ri.activityInfo.applicationInfo.loadLabel(pm);
}
return strName;
}
public static boolean checkApkExist(Context context, String packageName) {
if (packageName == null || "".equals(packageName))
return false;
try {
ApplicationInfo info = context.getPackageManager()
.getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
public static Drawable getAppDrawable(String packageName, Context context)
throws NameNotFoundException {
Drawable drawable = null;
pi = context.getPackageManager().getPackageInfo(packageName, 0);
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(pi.packageName);
pm = context.getPackageManager();
List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);
ResolveInfo ri = apps.iterator().next();
if (ri != null) {
drawable = ri.activityInfo.applicationInfo.loadIcon(pm);
}
return drawable;
}
/**
*
*
* @param visible
* @param activity
*/
public static void updateWallpaperVisibility(boolean visible,
Activity activity) {
int wpflags = visible ? WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER
: 0;
int curflags = activity.getWindow().getAttributes().flags
& WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
if (wpflags != curflags) {
activity.getWindow().setFlags(wpflags,
WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER);
}
}
找到launcher上面的应用程序
/**
* Query the package manager for MAIN/LAUNCHER activities in the supplied package.
*/
private List<ResolveInfo> findActivitiesForPackage() {
final PackageManager packageManager = getActivity().getPackageManager();
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List<ResolveInfo> apps = packageManager.queryIntentActivities(mainIntent, 0);
return apps != null ? apps : new ArrayList<ResolveInfo>();
}
相关文章推荐
- 通过包名打开另外一个应用程序和获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)
- 通过包名打开另外一个应用程序和获取手机中已安装apk文件信息(PackageInfo、ResolveIn ...
- 通过包名打开另外一个应用程序和获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)
- 通过包名打开另外一个应用程序和获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)
- 获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 获取安卓已安装应用程序的相关信息
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 获取已安装的程序和APK文件的信息
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等
- Android 获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)
- 获取未安装apk的信息
- 获取未安装的APK信息
- 通过 PackageManagerService 接口queryIntentActivities 获取 全部 安装的apk信息
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 获取已安装apk文件信息
- 获取手机中已安装apk文件信息
- 获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)