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