শর্টকাটগুলি তৈরি করুন

শর্টকাট আপনার অ্যাপের অংশগুলি দ্রুত অ্যাক্সেস করতে সাহায্য করার মাধ্যমে আপনার ব্যবহারকারীদের কাছে নির্দিষ্ট ধরনের কন্টেন্ট ডেলিভার করে।

অ্যাপ শর্টকাট ও পিন করা শর্টকাটের মধ্যে পার্থক্য
ছবি ১. অ্যাপ শর্টকাট ও পিন করা শর্টকাট।

আপনি কীভাবে শর্টকাট ব্যবহার করে কন্টেন্ট ডেলিভার করবেন তা আপনার ব্যবহারিক ক্ষেত্র এবং শর্টকাটের কনটেক্সট অ্যাপ-নির্ভর নাকি ব্যবহারকারী-নির্ভর তার উপর নির্ভর করে। যদিও স্ট্যাটিক শর্টকাটের কন্টেক্সট পরিবর্তন হয় না এবং ডায়নামিক শর্টকাটের কন্টেক্সট ক্রমাগত পরিবর্তিত হতে থাকে, তবে আপনার অ্যাপ উভয় ক্ষেত্রেই কন্টেক্সট ড্রাইভ করে। যেসব ক্ষেত্রে ব্যবহারকারী বেছে নেন যে আপনার অ্যাপ কীভাবে তাকে কন্টেন্ট ডেলিভার করবে, যেমন পিন করা শর্টকাটের মাধ্যমে, সেইসব ক্ষেত্রে প্রসঙ্গটি ব্যবহারকারীই নির্ধারণ করেন। নিচে দেওয়া পরিস্থিতিগুলি প্রতিটি শর্টকাট টাইপের জন্য কয়েকটি ব্যবহারিক প্রয়োগের বর্ণনা দেয়:

  • স্ট্যাটিক শর্টকাট সেইসব অ্যাপের জন্য সবচেয়ে ভাল যেগুলি ব্যবহারকারীর সাথে অ্যাপের ইন্টার‍্যাকশনের পুরো সময় জুড়ে একটি সুসংহত স্ট্রাকচার ব্যবহার করে কন্টেন্টের সাথে লিঙ্ক করে। কারণ বেশিরভাগ লঞ্চার একসাথে শুধুমাত্র চারটি শর্টকাট দেখায়, স্ট্যাটিক শর্টকাট একটি সুসংহত উপায়ে রুটিন টাস্ক পারফর্ম করার জন্য উপযোগী, যেমন, ব্যবহারকারী যদি নির্দিষ্ট উপায়ে তার ক্যালেন্ডার বা ইমেল দেখতে চান।
  • ডায়নামিক শর্টকাট অ্যাপের এমন অ্যাকশনের জন্য ব্যবহার করা হয় যেগুলি প্রসঙ্গ-সংবেদনশীল। অ্যাপে ব্যবহারকারীরা যেসব অ্যাকশন নেন, সেই অনুযায়ী কনটেক্সট-সংবেদনশীল শর্টকাট তৈরি করা হয়। যেমন, আপনি যদি এমন কোনও গেম তৈরি করেন যেখানে ব্যবহারকারী লঞ্চ করার সময় তার বর্তমান লেভেল থেকে শুরু করতে পারেন, তাহলে আপনাকে ঘন ঘন শর্টকাট আপডেট করতে হবে। ডায়নামিক শর্টকাট ব্যবহার করলে, ব্যবহারকারী প্রতিটি লেভেল সম্পূর্ণ করার পরে আপনি শর্টকাট আপডেট করতে পারবেন।
  • পিন করা শর্টকাট নির্দিষ্ট ব্যবহারকারী-চালিত অ্যাকশনের জন্য ব্যবহার করা হয়। যেমন, কোনও ব্যবহারকারী লঞ্চারে একটি নির্দিষ্ট ওয়েবসাইট পিন করতে চাইতে পারেন। এটি উপকারী কারণ এটি ব্যবহারকারীকে কাস্টম অ্যাকশন পারফর্ম করতে দেয়—যেমন এক ধাপে ওয়েবসাইটে নেভিগেট করা, যা ব্রাউজারের ডিফল্ট ইনস্ট্যান্স ব্যবহার করার চেয়ে অনেক দ্রুত।

স্ট্যাটিক শর্টকাট তৈরি করা

স্ট্যাটিক শর্টকাট আপনার অ্যাপের মধ্যে সাধারণ অ্যাকশনের লিঙ্ক প্রদান করে এবং এই অ্যাকশনগুলি আপনার অ্যাপের বর্তমান ভার্সনের লাইফটাইম জুড়ে সামঞ্জস্যপূর্ণ থাকতে হবে। স্ট্যাটিক শর্টকাটের জন্য ভাল বিকল্পের মধ্যে রয়েছে পাঠানো মেসেজ দেখা, অ্যালার্ম সেট করা এবং দিনের জন্য ব্যবহারকারীর ব্যায়াম সংক্রান্ত অ্যাক্টিভিটি দেখানো।

স্ট্যাটিক শর্টকাট তৈরি করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

  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.Main" />
        <!-- 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

একটি সংক্ষিপ্ত বাক্যাংশ যা শর্টকাটের উদ্দেশ্য বর্ণনা করে। সম্ভব হলে, এই সংক্ষিপ্ত বিবরণ ১০ অক্ষরের মধ্যে রাখুন।

আরও তথ্যের জন্য, setShortLabel() দেখুন।

android:shortcutLongLabel

শর্টকাটের উদ্দেশ্য বর্ণনা করে এমন একটি বড় বাক্য। যথেষ্ট জায়গা থাকলে, লঞ্চার android:shortcutShortLabel-এর পরিবর্তে এই ভ্যালু দেখায়। সম্ভব হলে, এই বড় বিবরণকে ২৫টি অক্ষরের মধ্যে সীমাবদ্ধ রাখুন।

আরও তথ্যের জন্য, 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 Shortcuts ইন্টিগ্রেশন লাইব্রেরির সাথে Assistant-এর মতো 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)

Google Shortcuts ইন্টিগ্রেশন লাইব্রেরি যোগ করুন

Google Shortcuts Integration Library হল একটি ঐচ্ছিক Jetpack লাইব্রেরি। এটি আপনাকে ডায়নামিক শর্টকাট পুশ করতে দেয় যা Android সারফেসে দেখানো যেতে পারে, যেমন লঞ্চার ও Google সারফেস। এই লাইব্রেরি ব্যবহার করে, ব্যবহারকারীরা আপনার অ্যাপে নির্দিষ্ট কন্টেন্ট দ্রুত অ্যাক্সেস করতে বা অ্যাকশন রিপ্লে করতে আপনার শর্টকাট খুঁজে পেতে পারেন।

এই লাইব্রেরির সাথে পুশ করা ডায়নামিক শর্টকাটগুলি ডিভাইস পিছু এনফোর্স করা শর্টকাট সংক্রান্ত সীমা মেনে চলে না। এর ফলে, কোনও ব্যবহারকারী আপনার অ্যাপে সংশ্লিষ্ট অ্যাকশন সম্পূর্ণ করলেই আপনার অ্যাপ একটি শর্টকাট পুশ করতে পারে। এইভাবে ঘনঘন শর্টকাট পুশ করলে, Google আপনার ব্যবহারকারীর ব্যবহারের প্যাটার্ন বুঝতে পারে এবং তাদের প্রাসঙ্গিক শর্টকাট সাজেস্ট করতে পারে।

যেমন, আপনার ফিটনেস-ট্র্যাকিং অ্যাপ থেকে পুশ করা শর্টকাট থেকে Assistant জানতে পারে যে কোনও ব্যবহারকারী সাধারণত প্রতি সকালে দৌড়ান এবং ব্যবহারকারী সকালে ফোন হাতে নিলে, আগে থেকেই "দৌড়ানো শুরু করুন" শর্টকাট সাজেস্ট করতে পারে।

Google Shortcuts ইন্টিগ্রেশন লাইব্রেরি কোনও অ্যাড্রেসেবল কার্যকারিতা প্রদান করে না। আপনার অ্যাপে এই লাইব্রেরি যোগ করলে, Google সারফেস ShortcutManagerCompat ব্যবহার করে আপনার অ্যাপের পুশ করা শর্টকাট দেখতে পাবে।

আপনার অ্যাপে এই লাইব্রেরি ব্যবহার করতে, আপনার app/build.gradle বা app/build.gradle.kts ফাইলে Google Shortcuts Integration Library ও ShortcutManagerCompat-এর জন্য ডিপেন্ডেন্সি যোগ করুন:

Kotlin

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

গ্ৰুভি

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

আপনার Android প্রোজেক্টে লাইব্রেরি ডিপেন্ডেন্সি যোগ করা হলে, আপনার অ্যাপ ডায়নামিক শর্টকাট পুশ করার জন্য ShortcutManagerCompat থেকে pushDynamicShortcut() পদ্ধতি ব্যবহার করতে পারবে। এই শর্টকাট লঞ্চার ও অংশগ্রহণকারী Google সারফেসে দেখানোর উপযুক্ত।

পিন করা শর্টকাট তৈরি করা

Android 8.0 (API লেভেল ২৬) ও তার পরবর্তী যেকোনও ভার্সনে, আপনি পিন করা শর্টকাট তৈরি করতে পারবেন। স্ট্যাটিক ও ডায়নামিক শর্টকাটের মতো নয়, পিন করা শর্টকাট আলাদা আইকন হিসেবে কাজ করে এমন লঞ্চারে দেখা যায়। ছবি ১-এ এই দুই ধরনের শর্টকাটের মধ্যে পার্থক্য দেখানো হয়েছে।

আপনার অ্যাপ ব্যবহার করে কাজ করে এমন লঞ্চারে কোনও শর্টকাট পিন করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. ডিভাইসের ডিফল্ট লঞ্চার অ্যাপ-মধ্যস্থ শর্টকাট পিন করার সুবিধা দেয় কিনা তা যাচাই করতে isRequestPinShortcutSupported() ব্যবহার করুন।
  2. একটি ShortcutInfoCompat অবজেক্ট তৈরি করুন যাতে একটি আইডি, একটি ইনটেন্ট, এবং শর্টকাটের জন্য একটি ছোট লেবেল থাকে। শর্টকাট আগে থেকেই থাকলে, আগে থেকে থাকা শর্টকাটের আইডি ব্যবহার করুন। সিস্টেম অটোমেটিক শর্টকাট সম্পর্কিত অন্যান্য সব তথ্য খুঁজে পিন করে।

  3. requestPinShortcut() কল করে ডিভাইসের লঞ্চারে শর্টকাট পিন করুন। এই প্রসেস চলাকালীন, আপনি একটি PendingIntent অবজেক্ট পাস করতে পারবেন, যা আপনার অ্যাপকে তখনই বিজ্ঞপ্তি পাঠায় যখন শর্টকাটটি সফলভাবে পিন করা হয়।

    কোনও শর্টকাট পিন করার পরে, আপনার অ্যাপ updateShortcuts() পদ্ধতি ব্যবহার করে এর কন্টেন্ট আপডেট করতে পারে। আরও তথ্যের জন্য, শর্টকাট আপডেট করুন নিবন্ধটি পড়ুন।

পিন করা শর্টকাট কীভাবে তৈরি করতে হয় তা নিম্নলিখিত কোড স্নিপেট থেকে জানতে পারবেন:

if (ShortcutManagerCompat.isRequestPinShortcutSupported(context)) {
    // Enable the existing shortcut with the ID "my-shortcut".
    val pinShortcutInfo = ShortcutInfoCompat.Builder(context, "my-shortcut")
        .setShortLabel("Website")
        .setIntent(
            Intent(
                Intent.ACTION_VIEW,
                Uri.parse("https://www.mysite.example.com/")
            )
        )
        .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 =
        ShortcutManagerCompat.createShortcutResultIntent(context, 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 */ PendingIntent.FLAG_IMMUTABLE
    )

    ShortcutManagerCompat.requestPinShortcut(
        context,
        pinShortcutInfo,
        successCallback.intentSender
    )
}

কাস্টম শর্টকাট অ্যাক্টিভিটি তৈরি করা

'আপনার হোম স্ক্রিনে Gmail লঞ্চার আইকন যোগ করতে চান?' প্রম্পট দেখানো কাস্টম ডায়ালগ অ্যাক্টিভিটি। কাস্টম বিকল্পগুলি হল 'না, ধন্যবাদ' এবং 'আইকন যোগ করুন'।
ছবি ২. কাস্টম অ্যাপ শর্টকাট ডায়ালগ অ্যাক্টিভিটির উদাহরণ।

এছাড়াও, আপনি এমন বিশেষ অ্যাক্টিভিটি তৈরি করতে পারেন যা ব্যবহারকারীদের কাস্টম বিকল্প ও কনফার্মেশন বোতাম সহ শর্টকাট তৈরি করতে সাহায্য করে। ছবি ২-এ Gmail অ্যাপে এই ধরনের অ্যাক্টিভিটির একটি উদাহরণ দেখানো হয়েছে।

আপনার অ্যাপের ম্যানিফেস্ট ফাইলে, অ্যাক্টিভিটির <intent-filter> এলিমেন্টে ACTION_CREATE_SHORTCUT যোগ করুন। ব্যবহারকারী শর্টকাট তৈরি করার চেষ্টা করলে এই ঘোষণাটি নিম্নলিখিত ব্যবহার সেট-আপ করে:

  1. সিস্টেম আপনার অ্যাপের বিশেষ অ্যাক্টিভিটি শুরু করে।
  2. ব্যবহারকারী শর্টকাটের বিকল্প সেট করেন।
  3. ব্যবহারকারী কনফার্মেশন বোতামটি বেছে নেন।
  4. আপনার অ্যাপ createShortcutResultIntent() পদ্ধতি ব্যবহার করে শর্টকাট তৈরি করে। এই পদ্ধতি একটি Intent রিটার্ন করে, যা আপনার অ্যাপ setResult() ব্যবহার করে আগে এক্সিকিউট করা অ্যাক্টিভিটিতে রিলে করে।
  5. কাস্টমাইজ করা শর্টকাট তৈরি করতে ব্যবহৃত অ্যাক্টিভিটিতে আপনার অ্যাপ কল finish()।

একইভাবে, ইনস্টল করার পরে বা প্রথমবার অ্যাপ লঞ্চ করার সময়, আপনার অ্যাপ ব্যবহারকারীদের হোম স্ক্রিনে পিন করা শর্টকাট যোগ করার জন্য প্রম্পট দেখাতে পারে। এই পদ্ধতিটি কার্যকর কারণ এটি আপনার ব্যবহারকারীদের তাদের সাধারণ ওয়ার্কফ্লোর অংশ হিসেবে শর্টকাট তৈরি করতে সাহায্য করে।

শর্টকাট পরীক্ষা করা

আপনার অ্যাপের শর্টকাট পরীক্ষা করতে, এমন লঞ্চার সহ ডিভাইসে অ্যাপ ইনস্টল করুন যা শর্টকাট কাজ করে। তারপর, নিম্নলিখিত অ্যাকশনগুলি নিন:

  • আপনার অ্যাপের জন্য যে শর্টকাট সেট করেছেন তা দেখতে আপনার অ্যাপের লঞ্চার আইকন টাচ করে ধরে রাখুন ।
  • ডিভাইসের লঞ্চারে পিন করতে শর্টকাট টেনে আনুন।