我试图在家里创建应用程序快捷方式。对于大多数设备,我都做得很好。
有了这个
private void setShortcutIcon() {
if (ShortcutManagerCompat.isRequestPinShortcutSupported(this)) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
final ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
final ShortcutInfo pinShortcutInfo = new ShortcutInfo.Builder(this, "334")
.setIcon(Icon.createWithResource(this, R.mipmap.ic_launcher))
.setShortLabel(getString(R.string.app_name))
.setIntent(new Intent(this, SplashActivity.class).setAction(Intent.ACTION_VIEW).putExtra("duplicate", false))
.build();
shortcutManager.requestPinShortcut(pinShortcutInfo, null);
} else {
final Intent shortcutIntent = new Intent(getApplicationContext(), SplashActivity.class);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
final Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.mipmap.ic_launcher));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
addIntent.putExtra("duplicate", false);
getApplicationContext().sendBroadcast(addIntent);
}
}
}
除了默认情况下在家里安装了应用程序的设备,所以在这种情况下,家里已经安装了应用程序图标,并且另一个重复的图标被创建为快捷方式,这不是预期的行为。
所以我开始寻找这种差异化。
我想知道当前的应用程序启动器是否有专用的菜单按钮或向上滑动行为(牛轧糖、奥利奥和派)用于应用程序列表或应用程序默认显示在主页上。
例如,大多数股票 android 手机都有带有菜单按钮的启动器来检查应用程序列表。
MIUI 等其他 ROM 具有默认启动器,应用程序默认放置在主页上。
任何帮助/建议表示赞赏,在此先感谢。