Как быстро добавлять ярлыки приложений в android

Привет, я новичок в этой программе Android.

Мне нужно добавить мое приложение на главный экран в качестве программы быстрого доступа.

Пожалуйста, дайте идею для этого. Если возможно, расскажите мне, как управлять существующими ярлыками (удаление и добавление нескольких ярлыков)

Ответ 1

Я прочитал статью, которая поможет вам в программном приложении "Ярлык" программно на главном экране.

Вы можете ссылаться на .

Вы также можете обратиться к вопросу stackoverflow, связанному с ярлыком здесь.

Ответ 2

Вызвать этот метод в первом методе onCreate(). Также обеспечить чтобы проверить, что приложение работает в первый раз, используя SharedPreferences, как я сделал:

 private void addShortcut() {
    //Adding shortcut for MainActivity on Home screen
    Intent shortcutIntent = new Intent(getApplicationContext(),MainActivity.class);

    shortcutIntent.setAction(Intent.ACTION_MAIN);

    Intent addIntent = new Intent();
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, this.getResources().getString(R.string.app_name));
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(getApplicationContext(),
                        R.drawable.ic_launcher));

    addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    getApplicationContext().sendBroadcast(addIntent);
}

    // TO check app is installed first time.
    SharedPreferences prefs = getSharedPreferences("ShortCutPrefs", MODE_PRIVATE);
    if(!prefs.getBoolean("isFirstTime", false)){
        addShortcut();
        SharedPreferences.Editor editor = prefs.edit();
        editor.putBoolean("isFirstTime", true);
        editor.commit();
    } 

Ответ 3

Я потратил довольно много времени на то, чтобы попробовать разные решения из stackoverflow, но большинство из них бесполезны, потому что они запускают новые экземпляры Activity. Мне нужен ярлык, который работает точно так же, как в списке приложений, или тот, который автоматически устанавливается в Google Play (запуск активности или запуск уже начатого действия на передний план).

    @Override
    public void onCreate(Bundle savedInstanceState) {
        //Save the flag to SharedPreferences to prevent duplicated shortcuts
        if (!settings.isShortcutAdded()) {
            addShortcut();
            settings.setShortcutAdded(true);
        }
    }

    private void addShortcut() {
        Intent shortcutIntent = new Intent(getApplicationContext(), MainActivity.class);
        shortcutIntent.setAction(Intent.ACTION_MAIN);
        shortcutIntent.addCategory(Intent.CATEGORY_LAUNCHER);
        int flags = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT;
        shortcutIntent.addFlags(flags);

        Intent addIntent = new Intent();
        addIntent.putExtra("duplicate", false);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getResources().getString(R.string.app_name));
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource
                .fromContext(getApplicationContext(), R.drawable.ic_launcher));
        addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
        getApplicationContext().sendBroadcast(addIntent);
    }

И не забудьте обновить свой манифест:

    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />