Проверьте, есть ли на панели запуска приложений клавиша меню / проведите пальцем вверх по ящику приложений ИЛИ по умолчанию дома. - PullRequest
10 голосов
/ 15 апреля 2019

Я пытался создать ярлык приложения дома. Я сделал это довольно хорошо для большинства устройств.
с этим

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);
            }
        }
    }

За исключением устройств с установленными приложениями в домашних условиях по умолчанию, поэтому в этом случае уже был установлен значок приложения в домашних условиях, и еще один дублирующий значок создавался как ярлык, что не является ожидаемым поведением.

Итак, я начал искать эту дифференциацию.

Я хочу знать, имеет ли текущая панель запуска приложений специальную кнопку меню или поведение смахивания (нуга, Oreo и Pie) для списка приложений или приложений отображаются по умолчанию дома.

Например, в основном на стандартных телефонах с Android есть панель запуска с кнопкой меню для проверки списка приложений.

with menu

И другие ПЗУ, такие как MIUI, имеют панель запуска по умолчанию, в которой приложения по умолчанию размещаются дома.

enter image description here

любая помощь / предложение приветствуется, заранее спасибо.

...