package com.jmheart.tools; import java.io.File; import com.jmheart.R; import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManager.RunningTaskInfo; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.Intent.ShortcutIconResource; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.net.Uri; /** * ��������࣬��ȡ����ĸ������� * @author lee */ public class AppUtils { private Context context; public AppUtils(Context context) { this.context = context; } /** * ��ȡ��ǰӦ�ó���İ汾�� * @return */ public String getVersionName() { try { PackageManager packageManager = context.getPackageManager(); PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0); String version = packInfo.versionName; return version; } catch (NameNotFoundException e) { e.printStackTrace(); } return null; } /** * ��ȡ��ǰ�������е�Activity * @return * <uses-permission android:name="android.permission.GET_TASKS"/> */ public String getActivityName() { ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); RunningTaskInfo info = manager.getRunningTasks(1).get(0); String shortClassName = info.topActivity.getShortClassName(); System.out.println("shortClassName=" + shortClassName); return shortClassName; } /** * ��װָ���ļ�·����apk�ļ� * @param path */ public void installApk(String path) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setDataAndType(Uri.fromFile(new File(path)), "application/vnd.android.package-archive"); context.startActivity(intent); // ��װ�°汾 } /** * ���������ݷ�ʽ * @param resId Ӧ��ͼ�� * <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> */ public void createShortcut(int resId) { Intent shortcut = new Intent( "com.android.launcher.action.INSTALL_SHORTCUT"); shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, context.getString(R.string.app_name)); shortcut.putExtra("duplicate", false); ComponentName comp = new ComponentName(context.getPackageName(), "." + ((Activity) context).getLocalClassName()); shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent( Intent.ACTION_MAIN).setComponent(comp)); ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(context, resId); shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes); context.sendBroadcast(shortcut); } }