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

শর্টকাটের মাধ্যমে আপনি কীভাবে কন্টেন্ট সরবরাহ করবেন তা আপনার ব্যবহারের ক্ষেত্র এবং শর্টকাটটির প্রেক্ষাপট অ্যাপ-চালিত নাকি ব্যবহারকারী-চালিত, তার উপর নির্ভর করে। যদিও একটি স্ট্যাটিক শর্টকাটের প্রেক্ষাপট পরিবর্তন হয় না এবং একটি ডাইনামিক শর্টকাটের প্রেক্ষাপট ক্রমাগত পরিবর্তিত হয়, উভয় ক্ষেত্রেই আপনার অ্যাপই প্রেক্ষাপটটি নিয়ন্ত্রণ করে। যেসব ক্ষেত্রে একজন ব্যবহারকারী বেছে নেন যে আপনার অ্যাপ কীভাবে তাদের কাছে কন্টেন্ট সরবরাহ করবে, যেমন একটি পিন করা শর্টকাটের ক্ষেত্রে, প্রেক্ষাপটটি ব্যবহারকারী দ্বারা নির্ধারিত হয়। নিম্নলিখিত পরিস্থিতিগুলোতে প্রতিটি শর্টকাট ধরনের জন্য কয়েকটি ব্যবহারের ক্ষেত্র বর্ণনা করা হয়েছে:
- স্ট্যাটিক শর্টকাট সেইসব অ্যাপের জন্য সবচেয়ে ভালো, যেগুলো ব্যবহারকারীর অ্যাপটি ব্যবহারের পুরো সময় জুড়ে একটি সামঞ্জস্যপূর্ণ কাঠামো ব্যবহার করে কন্টেন্টের সাথে সংযোগ স্থাপন করে। যেহেতু বেশিরভাগ লঞ্চার একবারে মাত্র চারটি শর্টকাট প্রদর্শন করে , তাই কোনো নিত্যনৈমিত্তিক কাজ একটি সামঞ্জস্যপূর্ণ উপায়ে করার জন্য স্ট্যাটিক শর্টকাটগুলো উপযোগী; যেমন, ব্যবহারকারী যদি তার ক্যালেন্ডার বা ইমেল একটি নির্দিষ্ট উপায়ে দেখতে চান।
- অ্যাপের মধ্যে প্রসঙ্গ-সংবেদনশীল (context-sensitive) কাজের জন্য ডাইনামিক শর্টকাট ব্যবহার করা হয়। প্রসঙ্গ-সংবেদনশীল শর্টকাটগুলো ব্যবহারকারীর অ্যাপের কাজের সাথে মানানসই করে তৈরি করা হয়। উদাহরণস্বরূপ, আপনি যদি এমন একটি গেম তৈরি করেন যা ব্যবহারকারীকে চালু করার সাথে সাথেই তার বর্তমান লেভেল থেকে শুরু করতে দেয়, তাহলে আপনাকে শর্টকাটটি ঘন ঘন আপডেট করতে হবে। একটি ডাইনামিক শর্টকাট ব্যবহার করে আপনি প্রতিবার ব্যবহারকারী একটি লেভেল শেষ করার সাথে সাথে শর্টকাটটি আপডেট করতে পারেন।
- পিন করা শর্টকাটগুলো ব্যবহারকারীর নির্দিষ্ট কাজের জন্য ব্যবহৃত হয়। উদাহরণস্বরূপ, একজন ব্যবহারকারী লঞ্চারে একটি নির্দিষ্ট ওয়েবসাইট পিন করতে চাইতে পারেন। এটি সুবিধাজনক, কারণ এর মাধ্যমে ব্যবহারকারী ব্রাউজারের ডিফল্ট সংস্করণ ব্যবহারের চেয়ে দ্রুত ও এক ধাপে ওয়েবসাইটে যাওয়ার মতো নিজস্ব কাজ করতে পারেন।
স্ট্যাটিক শর্টকাট তৈরি করুন
স্ট্যাটিক শর্টকাটগুলো আপনার অ্যাপের মধ্যে সাধারণ কাজগুলোর জন্য লিঙ্ক প্রদান করে, এবং এই কাজগুলো আপনার অ্যাপের বর্তমান সংস্করণের পুরো জীবনকাল জুড়ে অপরিবর্তিত থাকতে হবে। স্ট্যাটিক শর্টকাটের জন্য ভালো বিকল্পগুলোর মধ্যে রয়েছে পাঠানো বার্তা দেখা, অ্যালার্ম সেট করা এবং ব্যবহারকারীর দিনের ব্যায়ামের কার্যকলাপ প্রদর্শন করা।
একটি স্ট্যাটিক শর্টকাট তৈরি করতে, নিম্নলিখিতগুলি করুন:
- আপনার অ্যাপের
AndroidManifest.xmlফাইলে, সেই অ্যাক্টিভিটিটি খুঁজুন যার ইন্টেন্ট ফিল্টারগুলোandroid.intent.action.MAINঅ্যাকশন এবংandroid.intent.category.LAUNCHERক্যাটাগরিতে সেট করা আছে। এই অ্যাক্টিভিটিতে একটি
<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>res/xml/shortcuts.xmlনামে একটি নতুন রিসোর্স ফাইল তৈরি করুন।নতুন রিসোর্স ফাইলে, একটি
<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জন্য ঘোষিত একটি ক্যাপাবিলিটির সাথে লিঙ্ক করা আছে, যা একটি অ্যাপ অ্যাকশনস বিল্ট-ইন ইন্টেন্ট। এই ক্যাপাবিলিটি বাইন্ডিং ব্যবহারকারীদের গুগল অ্যাসিস্ট্যান্টের সাথে কথ্য কমান্ড ব্যবহার করে একটি শর্টকাট চালু করতে দেয়।
ডায়নামিক শর্টকাট তৈরি করুন
ডাইনামিক শর্টকাট আপনার অ্যাপের মধ্যে নির্দিষ্ট, পরিস্থিতি-নির্ভর কাজের লিঙ্ক প্রদান করে। এই কাজগুলো আপনার অ্যাপ ব্যবহারের সময় এবং অ্যাপ চলার সময়েও পরিবর্তিত হতে পারে। ডাইনামিক শর্টকাটের ভালো ব্যবহারগুলোর মধ্যে রয়েছে কোনো নির্দিষ্ট ব্যক্তিকে কল করা, কোনো নির্দিষ্ট স্থানে যাওয়া এবং ব্যবহারকারীর সর্বশেষ সেভ পয়েন্ট থেকে গেম লোড করা। এছাড়াও আপনি কোনো কথোপকথন শুরু করতে ডাইনামিক শর্টকাট ব্যবহার করতে পারেন।
ShortcutManagerCompat Jetpack লাইব্রেরিটি হলো ShortcutManager API-এর একটি সহায়ক, যা আপনাকে আপনার অ্যাপে ডাইনামিক শর্টকাট পরিচালনা করতে দেয়। ShortcutManagerCompat লাইব্রেরি ব্যবহার করলে অপ্রয়োজনীয় কোডের পরিমাণ কমে যায় এবং এটি নিশ্চিত করতে সাহায্য করে যে আপনার শর্টকাটগুলো বিভিন্ন অ্যান্ড্রয়েড সংস্করণে সামঞ্জস্যপূর্ণভাবে কাজ করে। Google Shortcuts Integration Library ব্যবহার করে ডাইনামিক শর্টকাটগুলো পুশ করার জন্যও এই লাইব্রেরিটি প্রয়োজন, যাতে সেগুলো অ্যাসিস্ট্যান্টের মতো গুগলের বিভিন্ন প্ল্যাটফর্মে প্রদর্শিত হওয়ার যোগ্য হয়।
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)
গুগল শর্টকাট ইন্টিগ্রেশন লাইব্রেরি যোগ করুন
গুগল শর্টকাটস ইন্টিগ্রেশন লাইব্রেরি হলো একটি ঐচ্ছিক জেটপ্যাক লাইব্রেরি। এটি আপনাকে ডাইনামিক শর্টকাট যুক্ত করার সুযোগ দেয়, যা অ্যান্ড্রয়েড প্ল্যাটফর্ম যেমন লঞ্চার এবং গুগল প্ল্যাটফর্মে প্রদর্শিত হতে পারে। এই লাইব্রেরিটি ব্যবহার করে ব্যবহারকারীরা আপনার অ্যাপের নির্দিষ্ট কন্টেন্ট দ্রুত অ্যাক্সেস করতে বা অ্যাকশনগুলো পুনরায় চালাতে শর্টকাটগুলো খুঁজে পায়।
এই লাইব্রেরির মাধ্যমে পাঠানো ডাইনামিক শর্টকাটগুলো ডিভাইস-ভিত্তিক শর্টকাট সীমার আওতাভুক্ত নয়। এর ফলে, ব্যবহারকারী যখনই আপনার অ্যাপের মধ্যে কোনো সংশ্লিষ্ট কাজ সম্পন্ন করেন, তখনই আপনার অ্যাপ একটি শর্টকাট পাঠাতে পারে। এভাবে ঘন ঘন শর্টকাট পাঠানোর ফলে গুগল আপনার ব্যবহারকারীর ব্যবহারের ধরণ বুঝতে পারে এবং তাদেরকে প্রাসঙ্গিকভাবে প্রাসঙ্গিক শর্টকাটের পরামর্শ দিতে পারে।
উদাহরণস্বরূপ, অ্যাসিস্ট্যান্ট আপনার ফিটনেস-ট্র্যাকিং অ্যাপ থেকে পাঠানো শর্টকাটগুলো থেকে শিখতে পারে যে একজন ব্যবহারকারী সাধারণত প্রতিদিন সকালে দৌড়ান কিনা এবং ব্যবহারকারী সকালে ফোন হাতে নেওয়ার সাথে সাথেই তাকে আগে থেকেই একটি 'দৌড় শুরু করুন' শর্টকাট সাজেস্ট করতে পারে।
গুগল শর্টকাটস ইন্টিগ্রেশন লাইব্রেরি নিজে কোনো অ্যাড্রেসেবল কার্যকারিতা প্রদান করে না। আপনার অ্যাপে এই লাইব্রেরিটি যোগ করলে, গুগল সারফেসগুলো আপনার অ্যাপের ShortcutManagerCompat ব্যবহার করে পুশ করা শর্টকাটগুলো গ্রহণ করতে পারে।
আপনার অ্যাপে এই লাইব্রেরিটি ব্যবহার করতে, এই ধাপগুলো অনুসরণ করুন:
AndroidX লাইব্রেরি সমর্থন করার জন্য আপনার
gradle.propertiesফাইলটি আপডেট করুন:android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=trueapp/build.gradleফাইলে Google Shortcuts Integration Library এবংShortcutManagerCompatজন্য ডিপেন্ডেন্সি যোগ করুন:dependencies { implementation "androidx.core:core:1.6.0" implementation 'androidx.core:core-google-shortcuts:1.0.0' ... }
আপনার অ্যান্ড্রয়েড প্রজেক্টে লাইব্রেরি ডিপেন্ডেন্সিগুলো যুক্ত করা থাকলে, আপনার অ্যাপ ShortcutManagerCompat এর pushDynamicShortcut() মেথডটি ব্যবহার করে ডাইনামিক শর্টকাট পুশ করতে পারবে, যা লঞ্চার এবং অংশগ্রহণকারী গুগল সারফেসগুলোতে প্রদর্শনের জন্য উপযুক্ত।
পিন করা শর্টকাট তৈরি করুন
অ্যান্ড্রয়েড ৮.০ (এপিআই লেভেল ২৬) এবং এর পরবর্তী সংস্করণগুলোতে আপনি পিন করা শর্টকাট তৈরি করতে পারেন। স্ট্যাটিক এবং ডাইনামিক শর্টকাটের মতো নয়, পিন করা শর্টকাটগুলো সমর্থিত লঞ্চারগুলোতে আলাদা আইকন হিসেবে প্রদর্শিত হয়। চিত্র ১-এ এই দুই ধরনের শর্টকাটের মধ্যে পার্থক্য দেখানো হয়েছে।
আপনার অ্যাপ ব্যবহার করে কোনো সমর্থিত লঞ্চারে শর্টকাট পিন করতে, নিম্নলিখিত ধাপগুলো সম্পন্ন করুন:
- ডিভাইসের ডিফল্ট লঞ্চারটি অ্যাপের ভেতরে শর্টকাট পিন করা সমর্থন করে কিনা, তা যাচাই করতে
isRequestPinShortcutSupported()ব্যবহার করুন। শর্টকাটটি বিদ্যমান আছে কি না, তার উপর নির্ভর করে দুটি উপায়ের যেকোনো একটিতে একটি
ShortcutInfoঅবজেক্ট তৈরি করুন:- যদি শর্টকাটটি বিদ্যমান থাকে, তবে একটি
ShortcutInfoঅবজেক্ট তৈরি করুন যাতে শুধুমাত্র বিদ্যমান শর্টকাটটির আইডি থাকবে। সিস্টেম স্বয়ংক্রিয়ভাবে শর্টকাট সম্পর্কিত অন্য সমস্ত তথ্য খুঁজে বের করে পিন করে রাখে। - আপনি যদি একটি নতুন শর্টকাট পিন করতে চান, তাহলে একটি
ShortcutInfoঅবজেক্ট তৈরি করুন, যাতে নতুন শর্টকাটটির জন্য একটি ID, একটি intent এবং একটি সংক্ষিপ্ত লেবেল থাকবে।
- যদি শর্টকাটটি বিদ্যমান থাকে, তবে একটি
requestPinShortcut()কল করে ডিভাইসের লঞ্চারে শর্টকাটটি পিন করুন। এই প্রক্রিয়ার সময়, আপনি একটিPendingIntentঅবজেক্ট পাস করতে পারেন, যা শর্টকাটটি সফলভাবে পিন হলেই কেবল আপনার অ্যাপকে অবহিত করবে।একটি শর্টকাট পিন করার পরে, আপনার অ্যাপ
updateShortcuts()মেথড ব্যবহার করে এর বিষয়বস্তু আপডেট করতে পারে। আরও তথ্যের জন্য, “শর্টকাট আপডেট করুন” পড়ুন।
নিম্নলিখিত কোড স্নিপেটটি দেখায় কিভাবে একটি পিন করা শর্টকাট তৈরি করতে হয়।
val shortcutManager = getSystemService<ShortcutManager>()
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)
}
একটি কাস্টম শর্টকাট অ্যাক্টিভিটি তৈরি করুন

আপনি একটি বিশেষায়িত অ্যাক্টিভিটিও তৈরি করতে পারেন যা ব্যবহারকারীদের কাস্টম অপশন এবং একটি কনফার্মেশন বাটনসহ শর্টকাট তৈরি করতে সাহায্য করে। চিত্র ২-এ জিমেইল অ্যাপে এই ধরনের একটি অ্যাক্টিভিটির উদাহরণ দেখানো হয়েছে।
আপনার অ্যাপের ম্যানিফেস্ট ফাইলে, অ্যাক্টিভিটির <intent-filter> এলিমেন্টে ACTION_CREATE_SHORTCUT যোগ করুন। ব্যবহারকারী যখন একটি শর্টকাট তৈরি করার চেষ্টা করেন, তখন এই ডিক্লারেশনটি নিম্নলিখিত আচরণটি সেট আপ করে:
- সিস্টেমটি আপনার অ্যাপের বিশেষায়িত কার্যক্রম শুরু করে।
- ব্যবহারকারী শর্টকাটটির জন্য অপশনগুলো সেট করেন।
- ব্যবহারকারী নিশ্চিতকরণ বোতামটি নির্বাচন করেন।
- আপনার অ্যাপ `
createShortcutResultIntent()মেথড ব্যবহার করে শর্টকাটটি তৈরি করে। এই মেথডটি একটিIntentরিটার্ন করে, যা আপনার অ্যাপsetResult()ব্যবহার করে পূর্ববর্তী অ্যাক্টিভিটিতে পাঠিয়ে দেয়। - আপনার অ্যাপটি কাস্টমাইজড শর্টকাটটি তৈরি করতে ব্যবহৃত অ্যাক্টিভিটিতে
finish()কল করে।
একইভাবে, আপনার অ্যাপটি ইনস্টলেশনের পরে বা প্রথমবার চালু করার সময় হোম স্ক্রিনে পিন করা শর্টকাট যোগ করার জন্য ব্যবহারকারীদের অনুরোধ করতে পারে। এই পদ্ধতিটি কার্যকর, কারণ এটি আপনার ব্যবহারকারীদের তাদের দৈনন্দিন কাজের অংশ হিসেবেই একটি শর্টকাট তৈরি করতে সাহায্য করে।
পরীক্ষার শর্টকাট
আপনার অ্যাপের শর্টকাটগুলো পরীক্ষা করার জন্য, শর্টকাট সমর্থন করে এমন লঞ্চারযুক্ত কোনো ডিভাইসে আপনার অ্যাপটি ইনস্টল করুন। তারপর, নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:
- আপনার অ্যাপের জন্য নির্ধারিত শর্টকাটগুলো দেখতে, অ্যাপটির লঞ্চার আইকনটি স্পর্শ করে ধরে রাখুন।
- ডিভাইসের লঞ্চারে শর্টকাটটি পিন করতে সেটিকে ড্র্যাগ করুন।