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) при нажатии.