
When we installing the android application from the Market Place and run it for the first time, we will see shortcut icon of the application in our home screen. In this post, how to create shortcut on home screen when you install and run the android application at first time.
1. Add permission in manifest xml
For creating the Shortcut icon on the Home Screen. We need to add permission “com.android.launcher.action.INSTALL_SHORTCUT” in AndroidMenifest.xml
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
2. Creating shortcut in MainActivity class
import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; public class MainActivity extends Activity { // To check if app to be run first time using Preference. SharedPreferences appPreferences; boolean isFirstRun = false; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Get preference value to check the app run first time. appPreferences = PreferenceManager.getDefaultSharedPreferences(this); isFirstRun = appPreferences.getBoolean("isFirstRun",false); if (isFirstRun==false) { // Create an explict intent it will be used to call Our application by click on the short cut Intent shortcutIntent = new Intent(getApplicationContext(),MainActivity.class); shortcutIntent.setAction(Intent.ACTION_MAIN); // Create an implicit intent and assign Shortcut Application Name, Icon Intent intent = new Intent(); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Tricing"); /* If shortcut name is equal to the applicaion name then use intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); */ intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.logo)); intent.putExtra("duplicate", false); //Avoid duplicate intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); getApplicationContext().sendBroadcast(intent); // Set preference as true SharedPreferences.Editor editor = appPreferences.edit(); editor.putBoolean("isFirstRun", true); editor.commit(); } } }
In MainActivity class perform below steps:
- At first, create preference value ‘isFirstRun’ to check that application run first time.
- If yes then create an explicit Intent pointing to our application. when the user click on shortcut icon and it will launch our application. Create an implicit intent for creating shortcut on Home Screen. Set application name with help of EXTRA_SHORTCUT_NAME. Set application icon with help of EXTRA_SHORTCUT_ICON_RESOURCE.
- Finally, change the preference value as true.
The Sample Output Screen: