ফোরগ্রাউন্ড সার্ভিস সংক্রান্ত ডকুমেন্টেশনে Android ফোরগ্রাউন্ড সার্ভিসের বর্তমান আচরণ সম্পর্কে বর্ণনা করা হয়েছে। বেশিরভাগ অ্যাপের ক্ষেত্রে পেশাদার পদ্ধতি সম্পর্কে ডকুমেন্টেশনে নির্দেশিকা দেওয়া আছে, সেগুলি Android-এর সবচেয়ে সাম্প্রতিক ভার্সনকে টার্গেট করুক বা না করুক।
এই পৃষ্ঠায় ফোরগ্রাউন্ড সার্ভিসে করা সাম্প্রতিক কিছু গুরুত্বপূর্ণ পরিবর্তন এবং Android প্ল্যাটফর্মের সবচেয়ে সাম্প্রতিক ভার্সনকে টার্গেট করছে না এমন অ্যাপের উপর এর প্রভাব সম্পর্কে বর্ণনা করা হয়েছে। অনেক ক্ষেত্রে, কম API লেভেল টার্গেট করা অ্যাপের জন্য যেসব পেশাদার পদ্ধতি ঐচ্ছিক ছিল, সেগুলি বেশি API লেভেল টার্গেট করা অ্যাপের জন্য বাধ্যতামূলক হয়ে যায়।
Android 16 (API লেভেল ৩৬)
নিম্নলিখিত পরিবর্তনগুলি Android ১৬ বা তার পরবর্তী যেকোনও ভার্সনে চলা অ্যাপের ক্ষেত্রে প্রযোজ্য, সেগুলি যে API লেভেলকেই টার্গেট করুক না কেন:
ফোরগ্রাউন্ড সার্ভিস থেকে শুরু করা ব্যাকগ্রাউন্ড জবকে এখন অবশ্যই তাদের নিজ নিজ রানটাইম কোটা মেনে চলতে হবে। এর মধ্যে সরাসরি
JobScheduler-এর মাধ্যমে শিডিউল করা কাজ এবং WorkManager বাDownloadManager-এর মতো অন্যান্য লাইব্রেরির মাধ্যমে তৈরি করা কাজ অন্তর্ভুক্ত।ব্যবহারকারীর অ্যাকশনের উত্তরে ডেটা ট্রান্সফার করতে, ব্যবহারকারীর শুরু করা ডেটা ট্রান্সফার জব ব্যবহার করার কথা বিবেচনা করুন। এইসব চাকরি সাধারণ চাকরির কোটার বাইরে।
Android 15 (API লেভেল ৩৫)
API লেভেল ৩৫ বা তার বেশি ভার্সনকে টার্গেট করে এমন অ্যাপের ক্ষেত্রে নিম্নলিখিত প্রয়োজনীয়তা প্রযোজ্য:
dataSyncফোরগ্রাউন্ড সার্ভিস কতক্ষণ চলতে পারে তার উপর নতুন বিধিনিষেধ আরোপ করা হয়েছে। এইসব বিধিনিষেধ ফোরগ্রাউন্ড সার্ভিস টাইমআউট আচরণ-এ বর্ণনা করা হয়েছে। (Android ১৫-এ নতুন)mediaProcessingফোরগ্রাউন্ড পরিষেবার ধরনের ক্ষেত্রেও একই ধরনের বিধিনিষেধ প্রযোজ্য।BOOT_COMPLETEDফোরগ্রাউন্ড পরিষেবাকে আর নির্দিষ্ট কিছু ফোরগ্রাউন্ড পরিষেবা লঞ্চ করার অনুমতি দেওয়া হয় না।- যেসব অ্যাপের কাছে
SYSTEM_ALERT_WINDOWঅনুমতি আছে, সেগুলি ব্যাকগ্রাউন্ড থেকে ফোরগ্রাউন্ড পরিষেবা তখনই চালু করতে পারবে, যদি বর্তমানে তাদের কাছে কোনও দৃশ্যমান ওভারলে উইন্ডো থাকে (অথবা যদি তারা ব্যাকগ্রাউন্ড থেকে চালু করার বিধিনিষেধ থেকে অব্যাহতি সংক্রান্ত অন্যান্য শর্তের মধ্যে কোনও একটি পূরণ করে)। আগে, সেইসব অ্যাপের জন্য ছাড়ের সুযোগ আরও বেশি ছিল।
Android 14 (API লেভেল ৩৪)
API লেভেল ৩৪ বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের ক্ষেত্রে নিম্নলিখিত প্রয়োজনীয়তা প্রযোজ্য:
- আপনাকে অবশ্যই সব ফোরগ্রাউন্ড পরিষেবা তাদের পরিষেবার ধরন সহ ঘোষণা করতে হবে।
- ফোরগ্রাউন্ড সার্ভিস যে ধরনের কাজ করবে তার জন্য অ্যাপকে উপযুক্ত ধরনের অনুমতির অনুরোধ করতে হবে। প্রতিটি ফোরগ্রাউন্ড পরিষেবার ধরন-এর
একটি সংশ্লিষ্ট অনুমতির ধরন আছে। যেমন, কোনও অ্যাপ যদি ক্যামেরা ব্যবহার করে এমন কোনও ফোরগ্রাউন্ড সার্ভিস চালু করে, তাহলে আপনাকে অবশ্যই
FOREGROUND_SERVICEএবংFOREGROUND_SERVICE_CAMERA, উভয় অনুমতির জন্য অনুরোধ করতে হবে। কোনও অ্যাপ API লেভেল ৩৪ বা তার পরবর্তী কোনও ভার্সনকে টার্গেট করলে এবং উপযুক্ত নির্দিষ্ট অনুমতির জন্য অনুরোধ না করলে, সিস্টেমSecurityExceptionথ্রো করে।
Android ১২ (API লেভেল ৩১)
API লেভেল ৩১ বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের ক্ষেত্রে নিম্নলিখিত প্রয়োজনীয়তা প্রযোজ্য:
- অ্যাপ ব্যাকগ্রাউন্ডে থাকাকালীন, কিছু নির্দিষ্ট ব্যতিক্রম ছাড়া, অ্যাপকে ফোরগ্রাউন্ড পরিষেবা চালু করার অনুমতি দেওয়া হয় না। আরও তথ্য এবং এই নিয়মের ব্যতিক্রম সম্পর্কে তথ্যের জন্য, ব্যাকগ্রাউন্ড থেকে ফোরগ্রাউন্ড সার্ভিস শুরু করার উপর বিধিনিষেধ দেখুন।
Android ১১ (API লেভেল ৩০)
API লেভেল ৩০ বা তার বেশি ভার্সনকে টার্গেট করে এমন অ্যাপের ক্ষেত্রে নিম্নলিখিত প্রয়োজনীয়তা প্রযোজ্য:
- কোনও অ্যাপের ফোরগ্রাউন্ড পরিষেবা ক্যামেরা বা মাইক্রোফোন ব্যবহার করলে, অ্যাপটিকে অবশ্যই
পরিষেবাটি ঘোষণা করতে হবে, যথাক্রমে
cameraবাmicrophoneপরিষেবার ধরন সহ।
Android 10 (API লেভেল ২৯)
API লেভেল ২৯ বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের ক্ষেত্রে নিম্নলিখিত প্রয়োজনীয়তা প্রযোজ্য:
- কোনও অ্যাপের ফোরগ্রাউন্ড পরিষেবা লোকেশন তথ্য ব্যবহার করলে, অ্যাপটিকে অবশ্যই
locationপরিষেবার ধরন সহ পরিষেবা ঘোষণা করতে হবে।
Android 9 (API লেভেল ২৮)
Android 9-এ
FOREGROUND_SERVICE অনুমতি চালু করা হয়েছে। Android 9-এ চলা যেসব অ্যাপ ফোরগ্রাউন্ড পরিষেবা ব্যবহার করে, সেগুলির এই অনুমতি থাকতে হবে।
API লেভেল ২৮ বা তার চেয়ে বেশি ভার্সনকে টার্গেট করে এমন কোনও অ্যাপ যদি
FOREGROUND_SERVICE অনুমতির অনুরোধ না করেই ফোরগ্রাউন্ড সার্ভিস তৈরি করার চেষ্টা করে, তাহলে সিস্টেম SecurityException দেখায়।