public class CreateShortCutUtils {
/*
* 创建桌面快捷方式
* */
public static void createShortCut(Context context,String appName,int drawableId,Class<?> cls){
// 创建快捷方式的Intent
Intent shortcutintent=new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
// 不允许重复创建
shortcutintent.putExtra("duplicate", false);
// 需要现实的名称
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, appName);
// 快捷图片
Parcelable icon=Intent.ShortcutIconResource.fromContext(context,drawableId);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,icon);
Intent intent=new Intent();
intent.setClass(context, cls);
intent.setAction("android.intent.action.MAIN");
intent.addCategory("android.intent.category.LAUNCHER");
// 点击快捷图片,运行的程序主入口
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
// 发送广播。OK
context.sendBroadcast(shortcutintent);
}
/*
* 判断是否已经存在快捷方式
* */
public static boolean isCreateShortcut(Context context){
String url="";
if(android.os.Build.VERSION.SDK_INT<8){
url="content://com.android.launcher.settings/favorites?notify=true";
}else{
url="content://com.android.launcher2.settings/favorites?notify=true";
}
ContentResolver resolver=context.getContentResolver();
Cursor cursor=resolver.query(Uri.parse(url), null, "title=?", new String[]{context.getString(R.string.app_name)}, null);
if(cursor!=null&&cursor.moveToFirst()){
cursor.close();
return true;
}
return false;
}
}