ফোরগ্রাউন্ড পরিষেবাগুলি ঘোষণা করুন এবং অনুমতির অনুরোধ করুন,ফোরগ্রাউন্ড পরিষেবাগুলি ঘোষণা করুন এবং অনুমতির অনুরোধ করুন,ফোরগ্রাউন্ড পরিষেবাগুলি ঘোষণা করুন এবং অনুমতির অনুরোধ করুন

আপনার অ্যাপের ম্যানিফেস্টে, একটি <service> এলিমেন্ট ব্যবহার করে অ্যাপের প্রতিটি ফোরগ্রাউন্ড সার্ভিস ঘোষণা করুন। প্রতিটি সার্ভিসের জন্য, সার্ভিসটি কী ধরনের কাজ করে তা জানাতে একটি android:foregroundServiceType অ্যাট্রিবিউট ব্যবহার করুন।

এছাড়াও, আপনার ফোরগ্রাউন্ড সার্ভিসগুলোর জন্য প্রয়োজনীয় অনুমতি চেয়ে নিন।

সংস্করণ সামঞ্জস্যতা

আপনার অ্যাপ কোন এপিআই লেভেলকে টার্গেট করছে, তার উপর নির্ভর করে আপনার ফোরগ্রাউন্ড সার্ভিস ঘোষণা করার এবং অনুমতি চাওয়ার প্রয়োজনীয়তা ভিন্ন হয়। এই পৃষ্ঠায় সেইসব অ্যাপের জন্য প্রয়োজনীয়তা বর্ণনা করা হয়েছে, যেগুলো এপিআই লেভেল ৩৪ বা তার চেয়ে উচ্চতর লেভেলকে টার্গেট করে। প্ল্যাটফর্মের পূর্ববর্তী সংস্করণগুলিতে ফোরগ্রাউন্ড সার্ভিসের পরিবর্তন সম্পর্কে তথ্যের জন্য, ‘ফোরগ্রাউন্ড সার্ভিসের পরিবর্তনসমূহ ’ দেখুন।

অ্যাপ ম্যানিফেস্টে ফোরগ্রাউন্ড সার্ভিসগুলো ঘোষণা করুন

নিচের কোডটিতে দেখানো হয়েছে কীভাবে একটি মিডিয়া প্লেব্যাক ফোরগ্রাউন্ড সার্ভিস ডিক্লেয়ার করতে হয়। আপনি গান চালানোর জন্য এই ধরনের একটি সার্ভিস ব্যবহার করতে পারেন।

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
  <application ...>

    <service
        android:name=".MyMediaPlaybackService"
        android:foregroundServiceType="mediaPlayback"
        android:exported="false">
    </service>
  </application>
</manifest>

কোড সম্পর্কে মূল বিষয়গুলো

  • এই উদাহরণে, সার্ভিসটির কেবল একটিই ধরন আছে, media । যদি আপনার সার্ভিসের জন্য একাধিক ধরন প্রযোজ্য হয়, তবে সেগুলোকে | অপারেটর দিয়ে আলাদা করুন। উদাহরণস্বরূপ, যদি আপনার সার্ভিস ক্যামেরা এবং মাইক্রোফোন ব্যবহার করে, তবে এটিকে এভাবে ঘোষণা করুন:

    android:foregroundServiceType="camera|microphone"
    
  • আপনার অ্যাপটি কোন এপিআই লেভেলকে টার্গেট করছে তার উপর নির্ভর করে, আপনাকে অ্যাপ ম্যানিফেস্টে ফোরগ্রাউন্ড সার্ভিস ঘোষণা করতে হতে পারে। নির্দিষ্ট এপিআই লেভেলের জন্য প্রয়োজনীয়তাগুলো " ফোরগ্রাউন্ড সার্ভিসে পরিবর্তন" অংশে বর্ণনা করা হয়েছে।

    যদি আপনি একটি ফোরগ্রাউন্ড সার্ভিস তৈরি করার চেষ্টা করেন এবং এর টাইপটি ম্যানিফেস্টে ঘোষিত না থাকে, তাহলে startForeground() কল করার পর সিস্টেম একটি MissingForegroundServiceTypeException থ্রো করে।

    বাধ্যতামূলক না হলেও, আপনার সমস্ত ফোরগ্রাউন্ড সার্ভিস ঘোষণা করা এবং সেগুলোর সার্ভিস টাইপ উল্লেখ করা একটি উত্তম অভ্যাস।

ফোরগ্রাউন্ড পরিষেবা অনুমতিগুলির জন্য অনুরোধ করুন

নিম্নলিখিত কোডটিতে দেখানো হয়েছে, কীভাবে ক্যামেরা ব্যবহারকারী একটি ফোরগ্রাউন্ড সার্ভিসের জন্য অনুমতি চাইতে হয়।

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>

    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"/>

    <application ...>
        ...
    </application>
</manifest>

কোড সম্পর্কে মূল বিষয়গুলো

  • এই কোডটি এপিআই লেভেল ৩৪ বা তার চেয়ে উচ্চতর লেভেলের অ্যাপ তৈরির জন্য সর্বোত্তম অনুশীলনগুলো ব্যবহার করে।