返回顶部

收藏

Android创建快捷方式以及删除快捷方式

更多
/**
     *
     * 创建快捷方式
     * @param map 快捷方式图标
     * @param appName 快捷方式标题
     * @param appUrl 快捷方式打开的地址
     * @param iconUrl 快捷方式图标地址
     *
     * */
    public static void createShortcut(Context activity ,Bitmap map ,String appName ,String appUrl ,String iconUrl){
        Intent shortcut = new Intent(
                "com.android.launcher.action.INSTALL_SHORTCUT");
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,appName);
        shortcut.putExtra("duplicate", false);// 设置是否重复创建
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW) ;
//      intent.addCategory(Intent.CATEGORY_LAUNCHER);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) ;
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) ;
        intent.setClass(activity, WebViewActivity.class);// 设置第一个页面
        intent.putExtra("keyword", appUrl);
        intent.putExtra("appName", appName) ;
        intent.putExtra("iconUrl", iconUrl) ;
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON, map);
        activity.sendBroadcast(shortcut);      
    }

    /**
     *
     * 删除快捷方式
     * @param shortcutName app名字
     * @param className 绝对路径如:getPackageName() + ".WebViewActivity"
     *
     * */
    public static void removeShortcut(Context cxt, String shortcutName, String className) {
        Intent shortcutIntent = new Intent(Intent.ACTION_VIEW);
        shortcutIntent.setClassName(cxt, className);
        Intent intent = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
        intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
        intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, shortcutName);
        cxt.sendBroadcast(intent);
    }

标签:java

收藏

0人收藏

支持

0

反对

0

发表评论