在 Android 中以编程方式创建 URL 快捷方式

Create URL shortcut programmatically in Android

我试图了解如何以编程方式在 Android 主屏幕中创建 URL 快捷方式,但找不到答案。它曾在 Whosebug 上被问过一次,但唯一的答案与问题无关,并且排名为 -2。有人可以帮忙吗?

提前致谢。

private void setShortcut(String url) {
        String query = Uri.encode(url, "UTF-8");
        browserIntent = new Intent(CATEGORY_BROWSABLE, Uri.parse(Uri.decode(query)));
        browserIntent.setAction(ACTION_VIEW);

        if (ShortcutManagerCompat.isRequestPinShortcutSupported(getApplicationContext())) {
            ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(getApplicationContext(), "1")
                    .setIntent(browserIntent) // !!! intent's action must be set on oreo
                    .setShortLabel("Test")
                    .setIcon(IconCompat.createWithResource(getApplicationContext(), R.drawable.bg))
                    .build();
            ShortcutManagerCompat.requestPinShortcut(getApplicationContext(), shortcutInfo, null);
        } else {
            Toast.makeText(getApplicationContext(),"launcher does not support short cut icon",Toast.LENGTH_LONG).show();
        }
    }

我已经在模拟器上测试过它,它可以工作并在浏览器中打开 url 您可以使用 .setIntent(browserIntent) 方法将意图设置为快捷方式,在代码中我创建了 browserIntent 来打开url 在浏览器中