"আপনি একটি Android পরিষেবা শুরু করেন সঙ্গে startService(..)
যে পরিষেবাটি যতক্ষণ না আপনি স্পষ্টভাবে ডাকা চলমান থাকবে stopService(..)
। সেখানে দুটি কারণে যে একটি সেবা সিস্টেম দ্বারা পরিচালিত করা যেতে পারে। কেউ কল তাহলে Context.startService()
তারপর সিস্টেম (এটা তৈরি এবং তার কলিং সেবা পুনরুদ্ধার করবে onCreate()
যদি পদ্ধতি প্রয়োজনীয়) এবং তারপরে onStartCommand(Intent, int, int)
ক্লায়েন্টের সরবরাহিত আর্গুমেন্টগুলির সাথে তার পদ্ধতিটি কল করুন The পরিষেবাটি এই মুহুর্তে অবধি Context.stopService()
বা না stopSelf()
বলা অবধি চলতে থাকবে Note নোট করুন যে একাধিক কল Context.startService()
নীড় বাড়ে না (যদিও তারা একাধিক অনুরূপ কলগুলিতে ফলাফল করে onStartCommand()
), তাই না এটি একবারে কোনও পরিষেবা শুরু হয়ে গেলে Context.stopService()
বা একবার stopSelf()
বলা বন্ধ হয়ে যায় ; তবে পরিষেবাগুলি সেগুলি তাদের ব্যবহার করতে পারেstopSelf(int)
শুরু হওয়া উদ্দেশ্যগুলি প্রক্রিয়া না করা পর্যন্ত পরিষেবাটি বন্ধ না হওয়া নিশ্চিত করার পদ্ধতি।
ক্লায়েন্টরা Context.bindService()
কোনও পরিষেবায় অবিচ্ছিন্ন সংযোগ পেতে ব্যবহার করতে পারেন । এটি ইতিমধ্যে পরিষেবাটি তৈরি করে যদি এটি ইতিমধ্যে চালু না থাকে ( onCreate()
এমন করার সময় কল করা ), তবে কল না করে onStartCommand()
। ক্লায়েন্টটি IBinder
তার onBind(Intent)
পদ্ধতি থেকে পরিষেবাটি প্রত্যাখ্যান করে সেই ক্লায়েন্টটি ক্লায়েন্টকে তার পরে পরিষেবাতে কল করার অনুমতি দেবে allowing সংযোগটি প্রতিষ্ঠিত হওয়ার পরে পরিষেবাটি চলমান থাকবে (ক্লায়েন্ট পরিষেবার ক্ষেত্রে কোনও রেফারেন্স ধরে রাখুক বা না রাখুক IBinder
)। সাধারণত IBinder
ফিরে আসাটি একটি জটিল ইন্টারফেসের জন্য যা এআইডিএলে লেখা হয়েছিল।
একটি পরিষেবা উভয়ই শুরু করা যেতে পারে এবং এর সাথে সংযোগ থাকতে পারে। এই জাতীয় ক্ষেত্রে, সিস্টেমটি যতক্ষণ না এটি শুরু হয় বা Context.BIND_AUTO_CREATE
পতাকাটির সাথে এর সাথে আরও এক বা একাধিক সংযোগ রয়েছে ততক্ষণ পরিষেবাটি চালিয়ে রাখবে । একবারে এই পরিস্থিতিগুলির মধ্যে একটিও ধরে না নিলে পরিষেবাটির onDestroy()
পদ্ধতিটি কল করা হয় এবং পরিষেবাটি কার্যকরভাবে বন্ধ হয়ে যায়। সমস্ত ক্লিনআপ (থ্রেড থামানো, নিবন্ধনবিহীন রিসিভারগুলি) এখান থেকে ফিরে আসার পরে সম্পূর্ণ করা উচিত onDestroy()
। "