āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ

āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āφāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻ…āĻ‚āĻļāϗ⧁āϞāĻŋ āĻĻā§āϰ⧁āϤ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϤ⧇ āϏāĻšāĻžāϝāĻŧāϤāĻž āĻ•āϰ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϧāϰāϪ⧇āϰ āϏāĻžāĻŽāĻ—ā§āϰ⧀ āϏāϰāĻŦāϰāĻžāĻš āĻ•āϰ⧇⧎

āĻ…ā§āϝāĻžāĻĒ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻāĻŦāĻ‚ āĻĒāĻŋāύ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻŦ⧈āϏāĻžāĻĻ⧃āĻļā§āϝ āĻĻ⧇āĻ–āĻžāύ⧋ āĻāĻ•āϟāĻŋ āϚāĻŋāĻ¤ā§āϰ⧎
āϚāĻŋāĻ¤ā§āϰ 1. āĻ…ā§āϝāĻžāĻĒ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻāĻŦāĻ‚ āĻĒāĻŋāύ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟāĨ¤

āφāĻĒāύāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϏāĻš āϏāĻžāĻŽāĻ—ā§āϰ⧀ āϏāϰāĻŦāϰāĻžāĻš āĻ•āϰāĻŦ⧇āύ āϤāĻž āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇ āφāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻāĻŦāĻ‚ āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āĻĒā§āϰāϏāĻ™ā§āĻ—āϟāĻŋ āĻ…ā§āϝāĻžāĻĒ-āϚāĻžāϞāĻŋāϤ āĻŦāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āϚāĻžāϞāĻŋāϤ āĻ•āĻŋāύāĻž āϤāĻžāϰ āωāĻĒāϰāĨ¤ āϝāĻĻāĻŋāĻ“ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āĻĒā§āϰāϏāĻ™ā§āĻ— āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāϝāĻŧ āύāĻž āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻ—āϤāĻŋāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āĻĒā§āϰāϏāĻ™ā§āĻ— āĻ•ā§āϰāĻŽāĻžāĻ—āϤ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻšāϝāĻŧ, āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āωāĻ­āϝāĻŧ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āχ āĻĒā§āϰāϏāĻ™ā§āĻ—āϟāĻŋ āϚāĻžāϞāĻžāϝāĻŧāĨ¤ āϝ⧇ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āϕ⧋āύ⧋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻŦ⧇āϛ⧇ āύ⧇āϝāĻŧ āϝ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āϤāĻžāĻĻ⧇āϰ āĻ•āĻžāϛ⧇ āϏāĻžāĻŽāĻ—ā§āϰ⧀ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰāĻŦ⧇, āϝ⧇āĻŽāύ āĻāĻ•āϟāĻŋ āĻĒāĻŋāύ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟ, āĻĒā§āϰāϏāĻ™ā§āĻ—āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻĻā§āĻŦāĻžāϰāĻž āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϤ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒā§āϰāĻ•āĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻŦāĻ°ā§āĻŖāύāĻž āĻ•āϰ⧇:

  • āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āĻāĻŽāύ āĻ…ā§āϝāĻžāĻĒāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āϏ⧇āϰāĻž āϝāĻž āĻāĻ•āϟāĻŋ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏāĻžāĻŽāĻ—ā§āϰ⧀āϰ āϏāĻžāĻĨ⧇ āϞāĻŋāĻ™ā§āĻ• āĻ•āϰ⧇⧎ āϝ⧇āĻšā§‡āϤ⧁ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϞāĻžā§āϚāĻžāϰāϗ⧁āϞāĻŋ āĻāĻ•āĻŦāĻžāϰ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϚāĻžāϰāϟāĻŋ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧇ , āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āύāĻŋāϝāĻŧāĻŽāĻŋāϤāĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āĻ•āĻžāϜ āϏāĻŽā§āĻĒāĻžāĻĻāύ⧇āϰ āϜāĻ¨ā§āϝ āĻĻāϰāĻ•āĻžāϰ⧀, āϝ⧇āĻŽāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āωāĻĒāĻžāϝāĻŧ⧇ āϤāĻžāĻĻ⧇āϰ āĻ•ā§āϝāĻžāϞ⧇āĻ¨ā§āĻĄāĻžāϰ āĻŦāĻž āχāĻŽā§‡āϞ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāύ⧎
  • āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āĻĒā§āϰāϏāĻ™ā§āĻ—-āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻ…ā§āϝāĻžāĻĒāϗ⧁āϞāĻŋāϤ⧇ āĻ…ā§āϝāĻžāĻ•āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻĒā§āϰāϏāĻ™ā§āĻ—-āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻĒ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻ•āϰāĻž āĻ•ā§āϰāĻŋāϝāĻŧāĻžāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧎ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āϗ⧇āĻŽ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āύ āϝāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ āϤāĻžāĻĻ⧇āϰ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻ¸ā§āϤāϰ āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ, āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻžāϕ⧇ āϘāύ āϘāύ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻāĻ•āϟāĻŋ āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϝāĻ–āύāχ āĻāĻ•āϟāĻŋ āϞ⧇āϭ⧇āϞ āϏāĻžāĻĢ āĻ•āϰ⧇ āϤāĻ–āύāχ āφāĻĒāύāĻžāϕ⧇ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤
  • āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āϚāĻžāϞāĻŋāϤ āĻ•āĻ°ā§āĻŽā§‡āϰ āϜāĻ¨ā§āϝ āĻĒāĻŋāύ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϜāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϞāĻžā§āϚāĻžāϰ⧇ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻĒāĻŋāύ āĻ•āϰāϤ⧇ āϚāĻžāχāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āĻāϟāĻŋ āωāĻĒāĻ•āĻžāϰ⧀ āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻ•ā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ—āϝ⧇āĻŽāύ āĻāĻ•āϟāĻŋ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇āϰ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āωāĻĻāĻžāĻšāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻšā§‡āϝāĻŧ⧇ āφāϰāĻ“ āĻĻā§āϰ⧁āϤ āĻāĻ• āϧāĻžāĻĒ⧇ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāĻŸā§‡ āύ⧇āĻ­āĻŋāϗ⧇āϟ āĻ•āϰāĻžāĨ¤

āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻœā§‡āύ⧇āϰāĻŋāĻ• āĻ…ā§āϝāĻžāĻ•āĻļāύāϗ⧁āϞāĻŋāϰ āϞāĻŋāĻ™ā§āĻ• āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāχ āĻ…ā§āϝāĻžāĻ•āĻļāύāϗ⧁āϞāĻŋ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āϏāĻ‚āĻ¸ā§āĻ•āϰāϪ⧇āϰ āĻœā§€āĻŦāύāĻ•āĻžāϞ āϧāϰ⧇ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖ āĻĨāĻžāĻ•āϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āĻ­āĻžāϞ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āϰāϝāĻŧ⧇āϛ⧇ āĻĒā§āϰ⧇āϰāĻŋāϤ āĻŦāĻžāĻ°ā§āϤāĻžāϗ⧁āϞāĻŋ āĻĻ⧇āĻ–āĻž, āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāϞāĻžāĻ°ā§āĻŽ āϏ⧇āϟ āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻĻāĻŋāύ⧇āϰ āϜāĻ¨ā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻŦā§āϝāĻžāϝāĻŧāĻžāĻŽ āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰāĻžāĨ¤

āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇, āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤāϗ⧁āϞāĻŋ āĻ•āϰ⧁āύ:

  1. āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ AndroidManifest.xml āĻĢāĻžāχāϞ⧇, āĻāĻŽāύ āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ āϖ⧁āρāϜ⧁āύ āϝāĻžāϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāϗ⧁āϞāĻŋ android.intent.action.MAIN āĻ…ā§āϝāĻžāĻ•āĻļāύ āĻāĻŦāĻ‚ android.intent.category.LAUNCHER āĻŦāĻŋāĻ­āĻžāϗ⧇ āϏ⧇āϟ āĻ•āϰāĻž āφāϛ⧇āĨ¤

  2. āĻāχ āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ⧇ āĻāĻ•āϟāĻŋ <meta-data> āωāĻĒāĻžāĻĻāĻžāύ āϝ⧋āĻ— āĻ•āϰ⧁āύ āϝāĻž āϏāĻ‚āĻ¸ā§āĻĨāĻžāύ āĻĢāĻžāχāϞ⧇āϰ āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰ⧇ āϝ⧇āĻ–āĻžāύ⧇ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇:

      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                package="com.example.myapplication">
        <application ... >
          <activity android:name="Main">
            <intent-filter>
              <action android:name="android.intent.action.MAIN" />
              <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            
            <meta-data android:name="android.app.shortcuts"
                       android:resource="@xml/shortcuts" /> 
          </activity>
        </application>
      </manifest>
      
  3. res/xml/shortcuts.xml āύāĻžāĻŽā§‡ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āϰāĻŋāϏ⧋āĻ°ā§āϏ āĻĢāĻžāχāϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύāĨ¤

  4. āύāϤ⧁āύ āϰāĻŋāϏ⧋āĻ°ā§āϏ āĻĢāĻžāχāϞ⧇, āĻāĻ•āϟāĻŋ <shortcuts> āϰ⧁āϟ āωāĻĒāĻžāĻĻāĻžāύ āϝ⧋āĻ— āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ <shortcut> āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āϤāĻžāϞāĻŋāĻ•āĻž āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ <shortcut> āωāĻĒāĻžāĻĻāĻžāύ⧇, āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āφāχāĻ•āύ, āĻŦāĻ°ā§āĻŖāύāĻžāϰ āϞ⧇āĻŦ⧇āϞ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāϟāĻŋ āϞāĻžā§āϚ āĻ•āϰāĻž āωāĻĻā§āĻĻ⧇āĻļā§āϝ āϏāĻš āϤāĻĨā§āϝ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύ:

      <shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
        <shortcut
          android:shortcutId="compose"
          android:enabled="true"
          android:icon="@drawable/compose_icon"
          android:shortcutShortLabel="@string/compose_shortcut_short_label1"
          android:shortcutLongLabel="@string/compose_shortcut_long_label1"
          android:shortcutDisabledMessage="@string/compose_disabled_message1">
          <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.example.myapplication"
            android:targetClass="com.example.myapplication.ComposeActivity" />
          <!-- If your shortcut is associated with multiple intents, include them
               here. The last intent in the list determines what the user sees when
               they launch this shortcut. -->
          <categories android:name="android.shortcut.conversation" />
          <capability-binding android:key="actions.intent.CREATE_MESSAGE" />
        </shortcut>
        <!-- Specify more shortcuts here. -->
      </shortcuts>
      

āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āĻŽāĻžāύ āĻ•āĻžāĻ¸ā§āϟāĻŽāĻžāχāϜ āĻ•āϰ⧁āύ

āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āϤāĻžāϞāĻŋāĻ•āĻžāϝāĻŧ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ⧇āϰ āĻŦāĻ°ā§āĻŖāύāĻž āϰāϝāĻŧ⧇āϛ⧇āĨ¤ android:shortcutId āĻāĻŦāĻ‚ android:shortcutShortLabel āĻāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŽāĻžāύ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧁āύāĨ¤ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āϏāĻŽāĻ¸ā§āϤ āĻŽāĻžāύ āϐāĻšā§āĻ›āĻŋāĻ•āĨ¤

android:shortcutId

āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āφāĻ•ā§āώāϰāĻŋāĻ• āϝāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟāϕ⧇ āĻĒā§āϰāϤāĻŋāύāĻŋāϧāĻŋāĻ¤ā§āĻŦ āĻ•āϰ⧇ āϝāĻ–āύ āĻāĻ•āϟāĻŋ ShortcutManager āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻāϟāĻŋāϤ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤

android:shortcutShortLabel

āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻŦāĻžāĻ•ā§āϝāĻžāĻ‚āĻļ āϝāĻž āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āĻŦāĻ°ā§āĻŖāύāĻž āĻ•āϰ⧇āĨ¤ āϝāĻ–āύ āϏāĻŽā§āĻ­āĻŦ, āĻāχ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻŦāĻŋāĻŦāϰāĻŖāϟāĻŋ 10 ​​āĻ…āĻ•ā§āώāϰ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧ āĻ•āϰ⧁āύāĨ¤

āφāϰāĻ“ āϤāĻĨā§āϝ⧇āϰ āϜāĻ¨ā§āϝ, setShortLabel() āĻĻ⧇āϖ⧁āύāĨ¤

android:shortcutLongLabel

āĻāĻ•āϟāĻŋ āĻŦāĻ°ā§āϧāĻŋāϤ āĻŦāĻžāĻ•ā§āϝāĻžāĻ‚āĻļ āϝāĻž āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āĻŦāĻ°ā§āĻŖāύāĻž āĻ•āϰ⧇āĨ¤ āϝāĻĻāĻŋ āĻĒāĻ°ā§āϝāĻžāĻĒā§āϤ āĻ¸ā§āĻĨāĻžāύ āĻĨāĻžāϕ⧇, āϤāĻžāĻšāϞ⧇ āϞāĻžā§āϚāĻžāϰāϟāĻŋ android:shortcutShortLabel āĻāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āĻāχ āĻŽāĻžāύāϟāĻŋ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧇āĨ¤ āϝāĻ–āύ āϏāĻŽā§āĻ­āĻŦ, āĻāχ āĻĻā§€āĻ°ā§āϘ āĻŦāĻŋāĻŦāϰāĻŖāϟāĻŋāϕ⧇ 25 āĻ…āĻ•ā§āώāϰ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧ āĻ•āϰ⧁āύāĨ¤

āφāϰāĻ“ āϤāĻĨā§āϝ⧇āϰ āϜāĻ¨ā§āϝ, setLongLabel() āĻĻ⧇āϖ⧁āύāĨ¤

android:shortcutDisabledMessage

āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻāĻ•āϟāĻŋ āĻ…āĻ•ā§āώāĻŽ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϚāĻžāϞ⧁ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻ•āϟāĻŋ āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āϞāĻžā§āϚāĻžāϰ⧇ āĻĒā§āϰāĻĻāĻ°ā§āĻļāĻŋāϤ āĻŦāĻžāĻ°ā§āϤāĻžāĨ¤ āĻŦāĻžāĻ°ā§āϤāĻžāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āϕ⧇āύ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āύāĻŋāĻˇā§āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ android:enabled true āĻšāϞ⧇ āĻāχ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ⧇āϰ āĻŽāĻžāύ āϕ⧋āύ āĻĒā§āϰāĻ­āĻžāĻŦ āĻĢ⧇āϞāĻŦ⧇ āύāĻžāĨ¤

android:enabled

āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻāĻ•āϟāĻŋ āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āϞāĻžā§āϚāĻžāϰ āĻĨ⧇āϕ⧇ āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āχāĻ¨ā§āϟāĻžāϰāĻ…ā§āϝāĻžāĻ•ā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āĻ•āĻŋāύāĻž āϤāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧇āĨ¤ android:enabled āĻāϰ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻŽāĻžāύ true āĨ¤ āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāϟāĻŋ false āϏ⧇āϟ āĻ•āϰ⧇āύ, āϤāĻžāĻšāϞ⧇ āĻāĻ•āϟāĻŋ android:shortcutDisabledMessage āϏ⧇āϟ āĻ•āϰ⧁āύ āϝāĻž āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰ⧇ āϝ⧇ āϕ⧇āύ āφāĻĒāύāĻŋ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϟāĻŋ āύāĻŋāĻˇā§āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰāϛ⧇āύ⧎ āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻŽāύ⧇ āĻ•āϰ⧇āύ āϝ⧇ āφāĻĒāύāĻžāϕ⧇ āĻāχ āϧāϰāύ⧇āϰ āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒā§āϰāĻĻāĻžāύ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āύ⧇āχ, āϤāĻžāĻšāϞ⧇ XML āĻĢāĻžāχāϞ āĻĨ⧇āϕ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦ⧇ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϟāĻŋ āϏāϰāĻŋāϝāĻŧ⧇ āĻĻāĻŋāύāĨ¤

android:icon

āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻ•āĻžāϛ⧇ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āϞāĻžā§āϚāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŦāĻŋāϟāĻŽā§āϝāĻžāĻĒ āĻŦāĻž āĻ…āĻ­āĻŋāϝ⧋āϜāĻŋāϤ āφāχāĻ•āύ āĨ¤ āĻāχ āĻŽāĻžāύāϟāĻŋ āĻāĻ•āϟāĻŋ āχāĻŽā§‡āϜ āĻŦāĻž āϰāĻŋāϏ⧋āĻ°ā§āϏ āĻĢāĻžāχāϞ⧇āϰ āĻĒāĻžāĻĨ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āϝ⧇āϟāĻŋāϤ⧇ āχāĻŽā§‡āϜ āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āĻāĻŦāĻ‚ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ•āϤāĻž āωāĻ¨ā§āύāϤ āĻ•āϰāϤ⧇ āϝāĻ–āύāχ āϏāĻŽā§āĻ­āĻŦ āĻ…āĻ­āĻŋāϝ⧋āϜāĻŋāϤ āφāχāĻ•āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤

āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞāĻŋ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰ⧁āύ

āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤāĻžāϞāĻŋāĻ•āĻžāϭ⧁āĻ•ā§āϤ XML āĻĢāĻžāχāϞ āĻĒā§āϰāϤāĻŋāϟāĻŋ <shortcut> āωāĻĒāĻžāĻĻāĻžāύ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞāĻŋāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇⧎ āφāĻĒāύāĻžāϰ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϕ⧇ āĻ…āĻŦāĻļā§āϝāχ intent āĻ…āĻ¨ā§āϤāĻ°ā§āύāĻŋāĻšāĻŋāϤ āωāĻĒāĻžāĻĻāĻžāύ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

intent

āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰāϞ⧇ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϟāĻŋ āϝ⧇ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ āϚāĻžāϞ⧁ āĻ•āϰ⧇āĨ¤ āĻāχ āĻ…āĻ­āĻŋāĻĒā§āϰāĻžāϝāĻŧāϟāĻŋ āĻ…āĻŦāĻļā§āϝāχ android:action āĻ…ā§āϝāĻžāĻŸā§āϰāĻŋāĻŦāĻŋāωāĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŽāĻžāύ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāĻŦ⧇āĨ¤

āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ•āĻžāϧāĻŋāĻ• āωāĻĻā§āĻĻ⧇āĻļā§āϝ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāϰāϪ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ…āĻ­āĻŋāĻĒā§āϰāĻžāϝāĻŧ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧁āύ , āĻāĻ•āϟāĻŋ āĻ…āĻ­āĻŋāĻĒā§āϰāĻžāϝāĻŧ āϏ⧇āϟ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ TaskStackBuilder āĻļā§āϰ⧇āĻŖā§€āϰ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻĻ⧇āϖ⧁āύāĨ¤

categories

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āϝ⧇ āϧāϰāύ⧇āϰ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰ⧇, āϝ⧇āĻŽāύ āύāϤ⧁āύ āĻšā§āϝāĻžāϟ āĻŦāĻžāĻ°ā§āϤāĻž āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ—ā§āϰ⧁āĻĒāĻŋāĻ‚ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇⧎

āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻŦāĻŋāĻ­āĻžāϗ⧇āϰ āϤāĻžāϞāĻŋāĻ•āĻžāϰ āϜāĻ¨ā§āϝ, ShortcutInfo āĻ•ā§āϞāĻžāϏ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻĻ⧇āϖ⧁āύāĨ¤

capability-binding

āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•ā§āώāĻŽāϤāĻž āĻ˜ā§‹āώāĻŖāĻž āĻ•āϰ⧇āĨ¤

āφāϗ⧇āϰ āωāĻĻāĻžāĻšāϰāϪ⧇, āĻļāĻ°ā§āϟāĻ•āĻžāϟāϟāĻŋ CREATE_MESSAGE āĻāϰ āϜāĻ¨ā§āϝ āĻ˜ā§‹āώāĻŋāϤ āĻāĻ•āϟāĻŋ āĻ•ā§āώāĻŽāϤāĻžāϰ āϏāĻžāĻĨ⧇ āϞāĻŋāĻ™ā§āĻ• āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϝāĻž āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻĒ āĻ…ā§āϝāĻžāĻ•āĻļāύ āĻŦāĻŋāĻ˛ā§āϟ-āχāύ āωāĻĻā§āĻĻ⧇āĻļā§āϝāĨ¤ āĻāχ āĻ•ā§āϝāĻžāĻĒāĻžāĻŦāĻŋāϞāĻŋāϟāĻŋ āĻŦāĻžāχāĻ¨ā§āĻĄāĻŋāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻāĻ•āϟāĻŋ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϚāĻžāϞ⧁ āĻ•āϰāϤ⧇ Google Assistant-āĻāϰ āϏāĻžāĻĨ⧇ āĻ•āĻĨā§āϝ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤

āĻ—āϤāĻŋāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ, āĻĒā§āϰāϏāĻ™ā§āĻ—-āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻ…ā§āϝāĻžāĻ•āĻļāύ⧇āϰ āϞāĻŋāĻ™ā§āĻ• āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤ āĻāχ āĻ…ā§āϝāĻžāĻ•āĻļāύāϗ⧁āϞāĻŋ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āϚāϞāĻžāĻ•āĻžāϞ⧀āύ āϏāĻŽāϝāĻŧ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ—āϤāĻŋāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āĻ­āĻžāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŦā§āϝāĻ•ā§āϤāĻŋāϕ⧇ āĻ•āϞ āĻ•āϰāĻž, āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ¸ā§āĻĨāĻžāύ⧇ āύ⧇āĻ­āĻŋāϗ⧇āϟ āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻļ⧇āώ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āϗ⧇āĻŽ āϞ⧋āĻĄ āĻ•āϰāĻž āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤāĨ¤ āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻ•āĻĨā§‹āĻĒāĻ•āĻĨāύ āϖ⧁āϞāϤ⧇ āĻ—āϤāĻŋāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

ShortcutManagerCompat Jetpack āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻšāϞ ShortcutManager API-āĻāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻšāĻžāϝāĻŧāĻ•, āϝāĻž āφāĻĒāύāĻžāϕ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇ āĻ—āϤāĻŋāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤ ShortcutManagerCompat āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ āĻŦāϝāĻŧāϞāĻžāϰāĻĒā§āϞ⧇āϟ āϕ⧋āĻĄ āĻ•āĻŽā§‡ āϝāĻžāϝāĻŧ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ Android āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āϜ⧁āĻĄāĻŧ⧇ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āϤāĻž āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇āĨ¤ āĻ—āϤāĻŋāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āĻĒ⧁āĻļ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝāĻ“ āĻāχ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϟāĻŋ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āϝāĻžāϤ⧇ āϤāĻžāϰāĻž Google āĻļāĻ°ā§āϟāĻ•āĻžāϟ āχāĻ¨ā§āϟāĻŋāĻ—ā§āϰ⧇āĻļāύ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϰ āϏāĻžāĻĨ⧇ āĻ…ā§āϝāĻžāϏāĻŋāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻŸā§‡āϰ āĻŽāϤ⧋ Google āϏāĻžāϰāĻĢ⧇āϏ⧇ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤ āĻšāĻ“āϝāĻŧāĻžāϰ āϝ⧋āĻ—ā§āϝ āĻšāϝāĻŧāĨ¤

ShortcutManagerCompat API āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒāϕ⧇ āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϏāĻš āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ:

  • āĻĒ⧁āĻļ āĻāĻŦāĻ‚ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧁āύ: āφāĻĒāύāĻžāϰ āĻ—āϤāĻŋāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āĻĒā§āϰāĻ•āĻžāĻļ āĻāĻŦāĻ‚ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāϤ⧇ pushDynamicShortcut() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āϝāĻĻāĻŋ āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇ āĻāĻ•āχ āφāχāĻĄāĻŋ āϏāĻš āĻ—āϤāĻŋāĻļā§€āϞ āĻŦāĻž āĻĒāĻŋāύ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĨāĻžāϕ⧇ āϤāĻŦ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϝ⧋āĻ—ā§āϝ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āφāĻĒāĻĄā§‡āϟ āĻšāϝāĻŧāĨ¤
  • āĻ…āĻĒāϏāĻžāϰāĻŖ āĻ•āϰ⧁āύ: removeDynamicShortcuts() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ—āϤāĻŋāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āĻāĻ•āϟāĻŋ āϏ⧇āϟ āϏāϰāĻžāύāĨ¤ removeAllDynamicShortcuts() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏāĻŽāĻ¸ā§āϤ āĻ—āϤāĻŋāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϏāϰāĻžāύāĨ¤

āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋāϤ⧇ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāĻžāϰ āĻŦāĻŋāώāϝāĻŧ⧇ āφāϰāĻ“ āϤāĻĨā§āϝ⧇āϰ āϜāĻ¨ā§āϝ, āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ ShortcutManagerCompat āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻĻ⧇āϖ⧁āύāĨ¤

āĻāĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋ āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻāĻŦāĻ‚ āĻāϟāĻŋāϕ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āϏāĻžāĻĨ⧇ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻžāϰ āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϞ:

āϕ⧋āϟāϞāĻŋāύ

val shortcut = ShortcutInfoCompat.Builder(context, "id1")
        .setShortLabel("Website")
        .setLongLabel("Open the website")
        .setIcon(IconCompat.createWithResource(context, R.drawable.icon_website))
        .setIntent(Intent(Intent.ACTION_VIEW,
                Uri.parse("https://www.mysite.example.com/")))
        .build()

ShortcutManagerCompat.pushDynamicShortcut(context, shortcut)

āϜāĻžāĻ­āĻž

ShortcutInfoCompat shortcut = new ShortcutInfoCompat.Builder(context, "id1")
    .setShortLabel("Website")
    .setLongLabel("Open the website")
    .setIcon(IconCompat.createWithResource(context, R.drawable.icon_website))
    .setIntent(new Intent(Intent.ACTION_VIEW,
                   Uri.parse("https://www.mysite.example.com/")))
    .build();

ShortcutManagerCompat.pushDynamicShortcut(context, shortcut);

Google āĻļāĻ°ā§āϟāĻ•āĻžāϟ āχāĻ¨ā§āϟāĻŋāĻ—ā§āϰ⧇āĻļāύ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āϝ⧋āĻ— āĻ•āϰ⧁āύ

Google āĻļāĻ°ā§āϟāĻ•āĻžāϟ āχāĻ¨ā§āϟāĻŋāĻ—ā§āϰ⧇āĻļāύ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻšāϞ āĻāĻ•āϟāĻŋ āϐāĻšā§āĻ›āĻŋāĻ• āĻœā§‡āϟāĻĒā§āϝāĻžāĻ• āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāĨ¤ āĻāϟāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻ—āϤāĻŋāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āĻĒ⧁āĻļ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ āϝāĻž āĻ…ā§āϝāĻžāĻ¨ā§āĻĄā§āϰāϝāĻŧ⧇āĻĄ āϏāĻžāϰāĻĢ⧇āϏ, āϝ⧇āĻŽāύ āϞāĻžā§āϚāĻžāϰ āĻāĻŦāĻ‚ Google āϏāĻžāϰāĻĢ⧇āϏ, āϝ⧇āĻŽāύ āĻ…ā§āϝāĻžāϏāĻŋāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻŸā§‡ āĻĒā§āϰāĻĻāĻ°ā§āĻļāĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇⧎ āĻāχ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻĻā§āϰ⧁āϤ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻžāĻŽāĻ—ā§āϰ⧀ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϤ⧇ āĻŦāĻž āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇ āĻ…ā§āϝāĻžāĻ•āĻļāύ āϰāĻŋāĻĒā§āϞ⧇ āĻ•āϰāϤ⧇ āφāĻĒāύāĻžāϰ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āφāĻŦāĻŋāĻˇā§āĻ•āĻžāϰ āĻ•āϰāϤ⧇ āϏāĻšāĻžāϝāĻŧāϤāĻž āĻ•āϰ⧇⧎

āωāĻĻāĻžāĻšāϰāĻŖ āĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϟāĻŋ āĻŽā§‡āϏ⧇āϜāĻŋāĻ‚ āĻ…ā§āϝāĻžāĻĒ āĻāĻ•āϜāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ āĻŽā§‡āϏ⧇āϜ āĻ•āϰāĻžāϰ āĻĒāϰ "Alex" āύāĻžāĻŽā§‡āϰ āĻĒāϰāĻŋāϚāĻŋāϤāĻŋāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϚāĻžāĻĒāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟāϟāĻŋ āĻĒ⧁āĻļ āĻ•āϰāĻžāϰ āĻĒāϰ⧇, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϝāĻĻāĻŋ āĻ…ā§āϝāĻžāϏāĻŋāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āϟāϕ⧇ āϜāĻŋāĻœā§āĻžāĻžāϏāĻž āĻ•āϰ⧇, "Hey Google, ExampleApp-āĻ Alex āĻŽā§‡āϏ⧇āϜ āĻ•āϰ⧁āύ," Assistant ExampleApp āϚāĻžāϞ⧁ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāϞ⧇āĻ•ā§āϏāϕ⧇ āĻŽā§‡āϏ⧇āϜ āĻĒāĻžāĻ āĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻāχ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϰ āϏāĻžāĻĨ⧇ āĻĒ⧁āĻļ āĻ•āϰāĻž āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āĻĒā§āϰāϤāĻŋ-āĻĄāĻŋāĻ­āĻžāχāϏ⧇āϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋāϤ⧇ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϏ⧀āĻŽāĻžāϰ āϏāĻžāĻĒ⧇āĻ•ā§āώ⧇ āύāϝāĻŧ⧎ āĻāϟāĻŋ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒāϕ⧇ āĻāĻ•āϟāĻŋ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϠ⧇āϞ⧇ āĻĻāĻŋāϤ⧇ āĻĻ⧇āϝāĻŧ āϝāĻ–āύāχ āϕ⧋āύ⧋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇ āϕ⧋āύ⧋ āϏāĻ‚āĻļā§āϞāĻŋāĻˇā§āϟ āĻ•ā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāĻ¨ā§āύ āĻ•āϰ⧇āĨ¤ āĻāχāĻ­āĻžāĻŦ⧇ āϘāύ āϘāύ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āĻĒ⧁āĻļ āĻ•āϰāĻž Google āϕ⧇ āφāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āϧāϰāĻŖāϗ⧁āϞāĻŋ āĻŦ⧁āĻāϤ⧇ āĻĻ⧇āϝāĻŧ āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āĻ•āĻžāϛ⧇ āĻĒā§āϰāĻžāϏāĻ™ā§āĻ—āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻĒā§āϰāĻžāϏāĻ™ā§āĻ—āĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋāϰ āĻĒāϰāĻžāĻŽāĻ°ā§āĻļ āĻĻ⧇āϝāĻŧ⧎

āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āϏāĻšāĻ•āĻžāϰ⧀ āφāĻĒāύāĻžāϰ āĻĢāĻŋāϟāύ⧇āϏ-āĻŸā§āĻ°ā§āϝāĻžāĻ•āĻŋāĻ‚ āĻ…ā§āϝāĻžāĻĒ āĻĨ⧇āϕ⧇ āĻĒ⧁āĻļ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āĻĨ⧇āϕ⧇ āĻļāĻŋāĻ–āϤ⧇ āĻĒāĻžāϰ⧇ āϝ⧇āϗ⧁āϞāĻŋ āĻāĻ•āϜāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ āϏāĻ•āĻžāϞ⧇ āĻĻ⧌āĻĄāĻŧāĻžāϝāĻŧ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϝāĻ–āύ āϏāĻ•āĻžāϞ⧇ āϤāĻžāĻĻ⧇āϰ āĻĢā§‹āύ āϤ⧁āϞāĻŦ⧇ āϤāĻ–āύ āϏāĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ "āĻāĻ• āĻĻ⧌āĻĄāĻŧ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ" āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒā§āϰāĻ¸ā§āϤāĻžāĻŦ āĻ•āϰ⧇āĨ¤

Google āĻļāĻ°ā§āϟāĻ•āĻžāϟ āχāĻ¨ā§āϟāĻŋāĻ—ā§āϰ⧇āĻļāύ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āύāĻŋāĻœā§‡āχ āϕ⧋āύ⧋ āĻ āĻŋāĻ•āĻžāύāĻžāϝ⧋āĻ—ā§āϝ āĻ•āĻžāĻ°ā§āϝāĻ•āĻžāϰāĻŋāϤāĻž āĻ…āĻĢāĻžāϰ āĻ•āϰ⧇ āύāĻžāĨ¤ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇ āĻāχ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϟāĻŋ āϝ⧋āĻ— āĻ•āϰāϞ⧇ Google āϏāĻžāϰāĻĢ⧇āϏāϗ⧁āϞāĻŋāϕ⧇ ShortcutManagerCompat āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āĻĒ⧁āĻļ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āύāĻŋāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇ āĻāχ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇, āĻāχ āϧāĻžāĻĒāϗ⧁āϞāĻŋ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰ⧁āύ:

  1. AndroidX āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāϤ⧇ āφāĻĒāύāĻžāϰ gradle.properties āĻĢāĻžāχāϞ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧁āύ:

          
          android.useAndroidX=true
          # Automatically convert third-party libraries to use AndroidX
          android.enableJetifier=true
          
          
  2. app/build.gradle āĻ, Google āĻļāĻ°ā§āϟāĻ•āĻžāϟ āχāĻ¨ā§āϟāĻŋāĻ—ā§āϰ⧇āĻļāύ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻāĻŦāĻ‚ ShortcutManagerCompat āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϤāĻž āϝ⧋āĻ— āĻ•āϰ⧁āύ:

          
          dependencies {
            implementation "androidx.core:core:1.6.0"
            implementation 'androidx.core:core-google-shortcuts:1.0.0'
            ...
          }
          
          

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻ¨ā§āĻĄā§āϰāϝāĻŧ⧇āĻĄ āĻĒā§āϰ⧋āĻœā§‡āĻ•ā§āĻŸā§‡ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āύāĻŋāĻ°ā§āĻ­āϰāϤāĻž āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϞ⧇, āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ ShortcutManagerCompat āĻĨ⧇āϕ⧇ pushDynamicShortcut() āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŽāύ āĻ—āϤāĻŋāĻļā§€āϞ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āĻĒ⧁āĻļ āĻ•āϰāϤ⧇ āϝāĻž āϞāĻžā§āϚāĻžāϰ āĻāĻŦāĻ‚ āĻ…āĻ‚āĻļāĻ—ā§āϰāĻšāĻŖāĻ•āĻžāϰ⧀ Google āϏāĻžāϰāĻĢ⧇āϏ⧇ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āϝ⧋āĻ—ā§āϝāĨ¤

āĻĒāĻŋāύ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

Android 8.0 (API āĻ¸ā§āϤāϰ 26) āĻāĻŦāĻ‚ āωāĻšā§āϚāϤāϰ, āφāĻĒāύāĻŋ āĻĒāĻŋāύ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻāĻŦāĻ‚ āĻĄāĻžāχāύāĻžāĻŽāĻŋāĻ• āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋāϰ āĻŦāĻŋāĻĒāϰ⧀āϤ⧇, āĻĒāĻŋāύ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āϞāĻžā§āϚāĻžāϰāϗ⧁āϞāĻŋāϤ⧇ āφāϞāĻžāĻĻāĻž āφāχāĻ•āύ āĻšāĻŋāϏāĻžāĻŦ⧇ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤ āĻšāϝāĻŧāĨ¤ āϚāĻŋāĻ¤ā§āϰ 1 āĻāχ āĻĻ⧁āϟāĻŋ āϧāϰāϪ⧇āϰ āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ āϞāĻžā§āϚāĻžāϰ⧇ āĻāĻ•āϟāĻŋ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒāĻŋāύ āĻ•āϰāϤ⧇, āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻĒāĻĻāĻ•ā§āώ⧇āĻĒāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āϰ⧁āύ:

  1. āĻĄāĻŋāĻ­āĻžāχāϏ⧇āϰ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āϞāĻžā§āϚāĻžāϰ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋāϰ āχāύ-āĻ…ā§āϝāĻžāĻĒ āĻĒāĻŋāύāĻŋāĻ‚ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āϤāĻž āϝāĻžāϚāĻžāχ āĻ•āϰāϤ⧇ isRequestPinShortcutSupported() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ⧎
  2. āĻļāĻ°ā§āϟāĻ•āĻžāϟāϟāĻŋ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻ•āĻŋāύāĻž āϤāĻžāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇ āĻĻ⧁āϟāĻŋ āωāĻĒāĻžāϝāĻŧ⧇ āĻāĻ•āϟāĻŋ ShortcutInfo āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ:

    1. āϝāĻĻāĻŋ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϟāĻŋ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻĨāĻžāϕ⧇ āϤāĻŦ⧇ āĻāĻ•āϟāĻŋ ShortcutInfo āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āφāχāĻĄāĻŋ āĻĨāĻžāϕ⧇āĨ¤ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āϏāĻŽāĻ¸ā§āϤ āϤāĻĨā§āϝ āϖ⧁āρāĻœā§‡ āĻĒāĻžāϝāĻŧ āĻāĻŦāĻ‚ āĻĒāĻŋāύ āĻ•āϰ⧇āĨ¤
    2. āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒāĻŋāύ āĻ•āϰāϛ⧇āύ, āĻāĻ•āϟāĻŋ ShortcutInfo āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ āϝāĻžāϤ⧇ āĻāĻ•āϟāĻŋ āφāχāĻĄāĻŋ, āĻāĻ•āϟāĻŋ āĻ…āĻ­āĻŋāĻĒā§āϰāĻžāϝāĻŧ āĻāĻŦāĻ‚ āύāϤ⧁āύ āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϛ⧋āϟ āϞ⧇āĻŦ⧇āϞ āϰāϝāĻŧ⧇āϛ⧇⧎
  3. requestPinShortcut() āĻ•āϞ āĻ•āϰ⧇ āĻĄāĻŋāĻ­āĻžāχāϏ⧇āϰ āϞāĻžā§āϚāĻžāϰ⧇ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒāĻŋāύ āĻ•āϰ⧁āύāĨ¤ āĻāχ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āϚāϞāĻžāĻ•āĻžāϞ⧀āύ, āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ PendingIntent āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻĒāĻžāϏ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āϝāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϏāĻĢāϞāĻ­āĻžāĻŦ⧇ āĻĒāĻŋāύ āĻšāϞ⧇āχ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒāϕ⧇ āĻŦāĻŋāĻœā§āĻžāĻĒā§āϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤

    āĻāĻ•āϟāĻŋ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒāĻŋāύ āĻ•āϰāĻžāϰ āĻĒāϰ⧇, āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ updateShortcuts() āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāϰ āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āφāϰāĻ“ āϤāĻĨā§āϝ⧇āϰ āϜāĻ¨ā§āϝ, āφāĻĒāĻĄā§‡āϟ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒāĻĄāĻŧ⧁āύāĨ¤

āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āϕ⧋āĻĄ āĻ¸ā§āύāĻŋāĻĒ⧇āϟ āĻĻ⧇āĻ–āĻžāϝāĻŧ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻĒāĻŋāύ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻšāϝāĻŧāĨ¤

āϕ⧋āϟāϞāĻŋāύ

val shortcutManager = getSystemService(ShortcutManager::class.java)

if (shortcutManager!!.isRequestPinShortcutSupported) {
    // Enable the existing shortcut with the ID "my-shortcut".
    val pinShortcutInfo = ShortcutInfo.Builder(context, "my-shortcut").build()

    // Create the PendingIntent object only if your app needs to be notified
    // that the user let the shortcut be pinned. If the pinning operation fails,
    // your app isn't notified. Assume here that the app implements a method
    // called createShortcutResultIntent() that returns a broadcast intent.
    val pinnedShortcutCallbackIntent = shortcutManager.createShortcutResultIntent(pinShortcutInfo)

    // Configure the intent so that your app's broadcast receiver gets the
    // callback successfully. For details, see PendingIntent.getBroadcast().
    val successCallback = PendingIntent.getBroadcast(context, /* request code */ 0,
            pinnedShortcutCallbackIntent, /* flags */ 0)

    shortcutManager.requestPinShortcut(pinShortcutInfo,
            successCallback.intentSender)
}

āϜāĻžāĻ­āĻž

ShortcutManager shortcutManager =
        context.getSystemService(ShortcutManager.class);

if (shortcutManager.isRequestPinShortcutSupported()) {
    // Enable the existing shortcut with the ID "my-shortcut".
    ShortcutInfo pinShortcutInfo =
            new ShortcutInfo.Builder(context, "my-shortcut").build();

    // Create the PendingIntent object only if your app needs to be notified
    // that the user let the shortcut be pinned. If the pinning operation fails,
    // your app isn't notified. Assume here that the app implements a method
    // called createShortcutResultIntent() that returns a broadcast intent.
    Intent pinnedShortcutCallbackIntent =
            shortcutManager.createShortcutResultIntent(pinShortcutInfo);

    // Configure the intent so that your app's broadcast receiver gets the
    // callback successfully. For details, see PendingIntent.getBroadcast().
    PendingIntent successCallback = PendingIntent.getBroadcast(context, /* request code */ 0,
            pinnedShortcutCallbackIntent, /* flags */ 0);

    shortcutManager.requestPinShortcut(pinShortcutInfo,
            successCallback.getIntentSender());
}

āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻĄāĻžāϝāĻŧāĻžāϞāĻ— āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ āĻĻ⧇āĻ–āĻžāύ⧋ āĻāĻ•āϟāĻŋ āϚāĻŋāĻ¤ā§āϰ āϝāĻž āĻĒā§āϰāĻŽā§āĻĒāϟ āĻĻ⧇āĻ–āĻžāϝāĻŧ 'āφāĻĒāύāĻŋ āĻ•āĻŋ āφāĻĒāύāĻžāϰ āĻšā§‹āĻŽ āĻ¸ā§āĻ•ā§āϰāĻŋāύ⧇ Gmail āϞāĻžā§āϚāĻžāϰ āφāχāĻ•āύ āϝ⧋āĻ— āĻ•āϰāϤ⧇ āϚāĻžāύ?' āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāϗ⧁āϞāĻŋ āĻšāϞ 'āύāĻž āϧāĻ¨ā§āϝāĻŦāĻžāĻĻ' āĻāĻŦāĻ‚ 'āφāχāĻ•āύ āϝ⧋āĻ— āĻ•āϰ⧁āύ'āĨ¤
āϚāĻŋāĻ¤ā§āϰ 2. āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻ…ā§āϝāĻžāĻĒ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĄāĻžāϝāĻŧāĻžāϞāĻ— āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ⧇āϰ āωāĻĻāĻžāĻšāϰāĻŖāĨ¤

āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļ⧇āώ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒāĻ“ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āϝāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇, āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āύāĻŋāĻļā§āϚāĻŋāϤāĻ•āϰāĻŖ āĻŦā§‹āϤāĻžāĻŽ āĻĻāĻŋāϝāĻŧ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āϰ⧁āύ⧎ āϚāĻŋāĻ¤ā§āϰ 2 Gmail āĻ…ā§āϝāĻžāĻĒ⧇ āĻāχ āϧāϰāύ⧇āϰ āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ⧇āϰ āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻŽā§āϝāĻžāύāĻŋāĻĢ⧇āĻ¸ā§āϟ āĻĢāĻžāχāϞ⧇, āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ⧇āϰ <intent-filter> > āωāĻĒāĻžāĻĻāĻžāύ⧇ ACTION_CREATE_SHORTCUT āϝ⧋āĻ— āĻ•āϰ⧁āύāĨ¤ āϝāĻ–āύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻāĻ•āϟāĻŋ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧇ āϤāĻ–āύ āĻāχ āĻ˜ā§‹āώāĻŖāĻžāϟāĻŋ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āφāϚāϰāĻŖ āϏ⧇āϟ āφāĻĒ āĻ•āϰ⧇:

  1. āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϟāĻŋ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻŦāĻŋāĻļ⧇āώ āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ āĻļ⧁āϰ⧁ āĻ•āϰ⧇āĨ¤
  2. āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻļāĻ°ā§āϟāĻ•āĻžāĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āϏ⧇āϟ āĻ•āϰ⧇āĨ¤
  3. āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āύāĻŋāĻļā§āϚāĻŋāϤāĻ•āϰāĻŖ āĻŦā§‹āϤāĻžāĻŽāϟāĻŋ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧇āĨ¤
  4. āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ createShortcutResultIntent() āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĨ¤ āĻāχ āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ āĻāĻ•āϟāĻŋ Intent āĻĢ⧇āϰāϤ āĻĻ⧇āϝāĻŧ, āϝāĻž āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ setResult() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĒā§‚āĻ°ā§āĻŦ⧇ āϚāĻžāϞāĻžāύ⧋ āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ⧇ āĻĢāĻŋāϰ⧇ āφāϏ⧇āĨ¤
  5. āĻ•āĻžāĻ¸ā§āϟāĻŽāĻžāχāϜāĻĄ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āĻ•āϞ finish() āĨ¤

āĻāĻ•āχāĻ­āĻžāĻŦ⧇, āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒāϟāĻŋ āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ⧇āϰ āĻĒāϰ⧇ āĻŦāĻž āĻ…ā§āϝāĻžāĻĒāϟāĻŋ āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰ āϚāĻžāϞ⧁ āĻšāĻ“āϝāĻŧāĻžāϰ āĻĒāϰ⧇ āĻšā§‹āĻŽ āĻ¸ā§āĻ•ā§āϰāĻŋāύ⧇ āĻĒāĻŋāύ āĻ•āϰāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϝ⧋āĻ— āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāχ āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ āφāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āϤāĻžāĻĻ⧇āϰ āϏāĻžāϧāĻžāϰāĻŖ āĻ•āĻ°ā§āĻŽāĻĒā§āϰāĻŦāĻžāĻšā§‡āϰ āĻ…āĻ‚āĻļ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āϏāĻšāĻžāϝāĻŧāϤāĻž āĻ•āϰ⧇⧎

āĻĒāϰ⧀āĻ•ā§āώāĻž āĻļāĻ°ā§āϟāĻ•āĻžāϟ

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāϤ⧇, āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āϞāĻžā§āϚāĻžāϰ āϏāĻš āĻāĻ•āϟāĻŋ āĻĄāĻŋāĻ­āĻžāχāϏ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āχāύāĻ¸ā§āϟāϞ āĻ•āϰ⧁āύāĨ¤ āϤāĻžāϰāĻĒāϰ⧇, āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰ⧁āύ:

  • āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻļāĻ°ā§āϟāĻ•āĻžāϟāϗ⧁āϞāĻŋ āĻĻ⧇āĻ–āϤ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āϞāĻžā§āϚāĻžāϰ āφāχāĻ•āύ⧇ āϟāĻžāϚ āĻ•āϰ⧇ āϧāϰ⧇ āϰāĻžāϖ⧁āύāĨ¤
  • āĻĄāĻŋāĻ­āĻžāχāϏ⧇āϰ āϞāĻžā§āϚāĻžāϰ⧇ āĻĒāĻŋāύ āĻ•āϰāϤ⧇ āĻāĻ•āϟāĻŋ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āĻŸā§‡āύ⧇ āφāύ⧁āύāĨ¤