Android: есть ли способ программирования для создания веб-ярлыка на домашнем экране

Знаете ли вы, есть ли программный способ создания веб-ярлыка на домашнем экране пользователя телефона?

Что я хочу сделать, это:

Когда пользователь телефона нажимает кнопку в нашем приложении Android, приложение помещает ярлык веб-сайта на домашний экран пользователя телефона.

3 ответа

Решение

Сначала вам нужно добавить разрешение в ваш manifest.xml

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

Вам нужно создать намерение для просмотра веб-страницы. Что-то вроде...

Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse("http://www.blablaba.com"));

Вы можете проверить это, создав небольшое тестовое приложение и выполнив startActivity(i); Это должно открыть браузер. После того, как вы проверили правильность вышеуказанного намерения, вам следует перейти к следующему шагу.

Теперь вам нужно установить ярлык.

    Intent installer = new Intent();
    installer.putExtra("android.intent.extra.shortcut.INTENT", i);
    installer.putExtra("android.intent.extra.shortcut.NAME", "THE NAME OF SHORTCUT TO BE SHOWN");
    installer.putExtra("android.intent.extra.shortcut.ICON_RESOURCE", I THINK this is a bitmap); //can also be ignored too
    installer.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    sendBroadcast(installer)

;

Также возможно, что некоторые домашние экраны не принимают это, но большинство делает. Так что наслаждайтесь.

РЕДАКТИРОВАТЬ: значок может быть установлен на ярлык с помощью:

installer.putExtra("android.intent.extra.shortcut.ICON_RESOURCE", Intent.ShortcutIconResource.fromContext(mContext, R.drawable.icon));

В дополнение к правильному ответу @Mike-dg и @Gagan вместо использования

putExtra("android.intent.extra.shortcut.ICON_RESOURCE", Intent.ShortcutIconResource.fromContext(mContext, R.drawable.icon))

который требует ShortcutIconResource, вы можете использовать

putExtra("android.intent.extra.shortcut.ICON", Bitmap))

который позволяет использовать любое растровое изображение в качестве значка. Это позволяет легко использовать значок сайта ярлыка в качестве значка.

Нельзя размещать элементы интерфейса на домашнем экране телефона через.apk. Для веб-ярлыка - вы можете создать виджет, который открывает браузер (с указанным URL) при нажатии.

Другие вопросы по тегам