Jake
Jake

Reputation: 16837

Android - adding shortcut to homescreen

When I use the firebox browser on my android device, I observe they have an option to bookmark a page such that it appears as shortcut (like an app) in the android launcher.

For example:

Here's before I open firefox:

enter image description here

In firefox I navigate to a page and then select the option at the bottom:

enter image description here

When I go back to the launcher, I can see a new icon. Clicking that icon allows me to go that page directly in firefox.

enter image description here

Does anyone know how this is achieved in the app ?

Upvotes: 2

Views: 1423

Answers (2)

Devindra Kalsariya
Devindra Kalsariya

Reputation: 3

try this,

        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, R.string.app_name);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.app_icon));
        addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
        addIntent.putExtra("duplicate", false);  //may it's already there so don't duplicate
        getApplicationContext().sendBroadcast(addIntent);

Upvotes: 0

Matt Clark
Matt Clark

Reputation: 28599

This can be done using the following:

Intent shortcutIntent = new Intent();
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, shortcutTitle);
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON, shortcutIcon);
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, targetIntent);
shortcutIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");

MyActivity.this.sendBroadcast(shortcutIntent);

With the following permission set in the manifest:

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

In your case of opening a specific URL, your target intent will contain the intent of the activity you wish to launch, and could also have some extras that would contain the desired URL.

Upvotes: 3

Related Questions