একটি ওয়েক লক সেট করুন, একটি ওয়েক লক সেট করুন, একটি ওয়েক লক সেট করুন

ডিভাইসটিকে সাময়িকভাবে জাগ্রত রাখতে আপনি একটি ওয়েক লক সেট করতে পারেন।

নির্ভরতা

ওয়েক লক সেট করার জন্য আপনার অ্যাপের WAKE_LOCK অনুমতি থাকতে হবে। আপনার অ্যাপের ম্যানিফেস্টে অনুমতিটি যোগ করুন:

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

একটি ওয়েক লক তৈরি করুন এবং অর্জন করুন

একটি ওয়েক লক পেতে, নিম্নলিখিতগুলি করুন:

  1. একটি ওয়েক লক তৈরি করতে PowerManager.newWakeLock() কল করুন। এটি একটি PowerManager.WakeLock অবজেক্ট তৈরি এবং কনফিগার করে কিন্তু আসলে ডিভাইসটিকে জাগ্রত রাখে না।

  2. যখন আপনি ডিভাইসটিকে জাগ্রত রাখতে চান, তখন ওয়েক লক অবজেক্টের acquire() পদ্ধতিটি কল করুন।

উদাহরণস্বরূপ, যদি আপনার অ্যাপে এমন একটি ব্রডকাস্ট রিসিভার থাকে যা কোনও কাজ করার জন্য কোনও পরিষেবা ব্যবহার করে, তাহলে আপনি এই কোডটি ব্যবহার করে একটি ওয়েক লক সেট এবং অর্জন করতে পারেন:

কোটলিন

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) মিলিসেকেন্ডে একটি টাইমআউট মান পাস করা হয়। যদি আপনি ইতিমধ্যে এটি প্রকাশ না করে থাকেন তবে সিস্টেমটি এত সময় অতিবাহিত হওয়ার পরে ওয়েক লকটি প্রকাশ করে।

আরো দেখুন