ডিভাইস সাময়িকভাবে চালু রাখতে আপনি ওয়েক লক সেট করতে পারবেন।
ডিপেন্ডেন্সি
ওয়েক লক সেট করার জন্য আপনার অ্যাপের WAKE_LOCK অনুমতি থাকতে হবে।
আপনার অ্যাপের ম্যানিফেস্টে অনুমতি যোগ করুন:
<uses-permission android:name="android.permission.WAKE_LOCK" />
ওয়েক লক তৈরি ও পাওয়া
ওয়েক লক পেতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
ওয়েক লক তৈরি করতে
PowerManager.newWakeLock()-এ কল করুন। এটি একটিPowerManager.WakeLockঅবজেক্ট তৈরি ও কনফিগার করে, কিন্তু ডিভাইসটি আসলে চালু রাখে না।আপনি ডিভাইস চালু রাখতে চাইলে, 'ওয়েক লক' অবজেক্টের
acquire()মেথড কল করুন।
যেমন, আপনার অ্যাপে যদি এমন কোনও ব্রডকাস্ট রিসিভার থাকে যা কোনও কাজ করার জন্য পরিষেবা ব্যবহার করে, তাহলে আপনি এই কোডটি ব্যবহার করে ওয়েক লক সেট ও অ্যাকোয়ার করতে পারবেন:
Kotlin
val wakeLock: PowerManager.WakeLock = (getSystemService(POWER_SERVICE) as PowerManager).run { newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag").apply { acquire(WAKELOCK_TIMEOUT) } }
জাভা
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag"); wakeLock.acquire(WAKELOCK_TIMEOUT);
এই কোড সম্পর্কে গুরুত্বপূর্ণ পয়েন্ট
কোডটি যখন ওয়েক লক অবজেক্ট তৈরি করে, তখন এটি ওয়েক লক ট্যাগের অংশ হিসেবে ক্লাসের নাম ব্যবহার করে। আমরা সাজেস্ট করি যে আপনার প্যাকেজ, ক্লাস বা মেথডের নাম যেন ওয়েক লক ট্যাগের অংশ হয়। এর ফলে, কোনও সমস্যা হলে, আপনার সোর্স কোডে ওয়েক লক খুঁজে পাওয়া সহজ হয়। আরও তথ্যের জন্য, ওয়েক লক সঠিকভাবে নামকরণ করুন দেখুন।
WakeLock.acquire(long)-এ মিলিসেকেন্ডে টাইমআউট ভ্যালু পাস করা হয়। এই সময়সীমা পেরিয়ে গেলে, সিস্টেম ওয়েকলক রিলিজ করে দেয়, যদি আপনি আগে থেকেই সেটি রিলিজ না করে থাকেন।