效果图
参考
https://blog.51cto.com/u_16175498/8811197https://blog.51cto.com/u_16175498/8811197
权限
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
实现
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);if (shortcutManager.isRequestPinShortcutSupported()) {String title = list_webView.get(currentPage).getTitle();String url = list_webView.get(currentPage).getUrl();Bitmap bitmap = list_webView.get(currentPage).getFavicon();if (bitmap == null)bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);Icon icon = Icon.createWithBitmap(bitmap);Intent shortcutIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));ShortcutInfo shortcutInfo = new ShortcutInfo.Builder(getApplicationContext(), url).setShortLabel(title).setLongLabel(title).setIcon(icon).setIntent(shortcutIntent).build();Intent pinnedShortcutCallbackIntent = shortcutManager.createShortcutResultIntent(shortcutInfo);PendingIntent successCallback = PendingIntent.getBroadcast(getApplicationContext(), 0, pinnedShortcutCallbackIntent, 0);shortcutManager.requestPinShortcut(shortcutInfo, successCallback.getIntentSender());}
} else {Toast.makeText(getApplicationContext(), "不支持创建快捷方式", Toast.LENGTH_SHORT).show();
}
注意
1.Android O 以上才支持。
2.ShortcutInfo.Builder(getApplicationContext(), id),id不一样才会添加,我直接填网址了。
3.标题太长,添加之前需要编辑一下。