সিস্টেমটি স্বয়ংক্রিয়ভাবে কিছু অ্যাপকে দৃশ্যমান করে তোলে যাতে আপনার অ্যাপ <queries> উপাদান ঘোষণা না করেই তাদের সাথে ইন্টারঅ্যাক্ট করতে পারে। এই আচরণটি মৌলিক কার্যকারিতা এবং সাধারণ ব্যবহারের ক্ষেত্রে সহায়তা করে।
স্বয়ংক্রিয়ভাবে দৃশ্যমান অ্যাপের ধরণ
আপনার অ্যাপটি Android 11 (API লেভেল 30) বা তার উচ্চতর ভার্সনগুলিকে টার্গেট করলেও, নিম্নলিখিত ধরণের অ্যাপগুলি সর্বদা আপনার অ্যাপে দৃশ্যমান হবে:
- আপনার নিজস্ব অ্যাপ।
- কিছু সিস্টেম প্যাকেজ , যেমন মিডিয়া প্রোভাইডার, যা মূল অ্যান্ড্রয়েড কার্যকারিতা বাস্তবায়ন করে।
- যে অ্যাপটি আপনার অ্যাপটি ইনস্টল করেছে।
- যেকোনো অ্যাপ যা
startActivityForResult()পদ্ধতি ব্যবহার করে আপনার অ্যাপে একটি অ্যাক্টিভিটি চালু করে, যেমনটি একটি অ্যাক্টিভিটি থেকে ফলাফল পাওয়ার নির্দেশিকায় বর্ণিত হয়েছে। - আপনার অ্যাপের কোনও পরিষেবা শুরু করে বা এর সাথে আবদ্ধ করে এমন যেকোনো অ্যাপ।
- আপনার অ্যাপের কোনও কন্টেন্ট প্রদানকারীকে অ্যাক্সেস করে এমন যেকোনো অ্যাপ।
- যেকোনো অ্যাপ যার একটি কন্টেন্ট প্রদানকারী আছে এবং আপনার অ্যাপটিকে URI অ্যাক্সেসের অনুমতি দেওয়া হয়েছে।
- যেকোনো অ্যাপ যা আপনার অ্যাপ থেকে ইনপুট গ্রহণ করে। এই ক্ষেত্রে শুধুমাত্র তখনই প্রযোজ্য যখন আপনার অ্যাপ ইনপুট পদ্ধতি সম্পাদক হিসেবে ইনপুট প্রদান করে।
স্বয়ংক্রিয়ভাবে দৃশ্যমান সিস্টেম প্যাকেজগুলি
কিছু সিস্টেম প্যাকেজ যা মূল অ্যান্ড্রয়েড কার্যকারিতা বাস্তবায়ন করে তা আপনার অ্যাপে স্বয়ংক্রিয়ভাবে দৃশ্যমান হয়, এমনকি যখন আপনার অ্যাপটি অ্যান্ড্রয়েড ১১ বা তার উচ্চতর সংস্করণকে লক্ষ্য করে। প্যাকেজের নির্দিষ্ট সেট আপনার অ্যাপটি কোন ডিভাইসে চালানো হয় তার উপর নির্ভর করে।
একটি নির্দিষ্ট ডিভাইসের জন্য প্যাকেজের সম্পূর্ণ তালিকা দেখতে, আপনার ডেভেলপমেন্ট মেশিনের টার্মিনালে নিম্নলিখিত কমান্ডটি চালান:
adb shell dumpsys package queries
কমান্ড আউটপুটে, forceQueryable বিভাগটি খুঁজুন। এই বিভাগে সেই প্যাকেজগুলির তালিকা রয়েছে যা ডিভাইসটি আপনার অ্যাপে স্বয়ংক্রিয়ভাবে দৃশ্যমান করেছে।