类android.support.v4.content.pm.ShortcutManagerCompat源码实例Demo

下面列出了怎么用android.support.v4.content.pm.ShortcutManagerCompat的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: memetastic   文件: ShareUtil.java
/**
 * Try to create a new desktop shortcut on the launcher. Add permissions:
 * <uses-permission android:name="android.permission.INSTALL_SHORTCUT" />
 * <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
 *
 * @param intent  The intent to be invoked on tap
 * @param iconRes Icon resource for the item
 * @param title   Title of the item
 */
public void createLauncherDesktopShortcut(final Intent intent, @DrawableRes final int iconRes, final String title) {
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    if (intent.getAction() == null) {
        intent.setAction(Intent.ACTION_VIEW);
    }

    ShortcutInfoCompat shortcut = new ShortcutInfoCompat.Builder(_context, Long.toString(new Random().nextLong()))
            .setIntent(intent)
            .setIcon(IconCompat.createWithResource(_context, iconRes))
            .setShortLabel(title)
            .setLongLabel(title)
            .build();
    ShortcutManagerCompat.requestPinShortcut(_context, shortcut, null);
}
 
源代码2 项目: openlauncher   文件: ShareUtil.java
/**
 * Try to create a new desktop shortcut on the launcher. Add permissions:
 * <uses-permission android:name="android.permission.INSTALL_SHORTCUT" />
 * <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
 *
 * @param intent  The intent to be invoked on tap
 * @param iconRes Icon resource for the item
 * @param title   Title of the item
 */
public void createLauncherDesktopShortcut(final Intent intent, @DrawableRes final int iconRes, final String title) {
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    if (intent.getAction() == null) {
        intent.setAction(Intent.ACTION_VIEW);
    }

    ShortcutInfoCompat shortcut = new ShortcutInfoCompat.Builder(_context, Long.toString(new Random().nextLong()))
            .setIntent(intent)
            .setIcon(IconCompat.createWithResource(_context, iconRes))
            .setShortLabel(title)
            .setLongLabel(title)
            .build();
    ShortcutManagerCompat.requestPinShortcut(_context, shortcut, null);
}
 
源代码3 项目: Stringlate   文件: ShareUtil.java
/**
 * Try to create a new desktop shortcut on the launcher. Add permissions:
 * <uses-permission android:name="android.permission.INSTALL_SHORTCUT" />
 * <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
 *
 * @param intent  The intent to be invoked on tap
 * @param iconRes Icon resource for the item
 * @param title   Title of the item
 */
public void createLauncherDesktopShortcut(Intent intent, @DrawableRes int iconRes, String title) {
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    if (intent.getAction() == null) {
        intent.setAction(Intent.ACTION_VIEW);
    }

    ShortcutInfoCompat shortcut = new ShortcutInfoCompat.Builder(_context, Long.toString(new Random().nextLong()))
            .setIntent(intent)
            .setIcon(IconCompat.createWithResource(_context, iconRes))
            .setShortLabel(title)
            .setLongLabel(title)
            .build();
    ShortcutManagerCompat.requestPinShortcut(_context, shortcut, null);
}
 
源代码4 项目: rcloneExplorer   文件: AppShortcutsHelper.java
public static void addRemoteToHomeScreen(Context context, RemoteItem remoteItem) {
    String id = getUniqueIdFromString(remoteItem.getName());

    Intent intent = new Intent(Intent.ACTION_MAIN, Uri.EMPTY, context, MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
    intent.putExtra(APP_SHORTCUT_REMOTE_NAME, remoteItem.getName());

    ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(context, id)
            .setShortLabel(remoteItem.getName())
            .setIcon(IconCompat.createWithResource(context, AppShortcutsHelper.getRemoteIcon(remoteItem.getType(), remoteItem.isCrypt())))
            .setIntent(intent)
            .build();

    ShortcutManagerCompat.requestPinShortcut(context, shortcutInfo, null);
}
 
private boolean addPinnedShortcut(
    JSONArray args
) throws PackageManager.NameNotFoundException, JSONException {
    ShortcutInfoCompat shortcut = buildPinnedShortcut(args.optJSONObject(0));
    Context context = this.cordova.getActivity().getApplicationContext();
    return ShortcutManagerCompat.requestPinShortcut(context, shortcut, null);
}
 
源代码6 项目: rcloneExplorer   文件: AppShortcutsHelper.java
public static boolean isRequestPinShortcutSupported(Context context) {
    return ShortcutManagerCompat.isRequestPinShortcutSupported(context);
}
 
private boolean supportsPinned() {
    Context context = this.cordova.getActivity().getApplicationContext();
    return ShortcutManagerCompat.isRequestPinShortcutSupported(context);
}