গেম বা সিনেমা দেখার অ্যাপের মতো কিছু অ্যাপের ক্ষেত্রে স্ক্রিন চালু রাখতে হয়। কিছু Android API আপনার জন্য অটোমেটিক স্ক্রিন চালু রাখে। অন্যান্য ক্ষেত্রে, ম্যানুয়ালি স্ক্রিন চালু রাখার জন্য আপনি ফ্ল্যাগ সেট করতে পারবেন।
ম্যানুয়ালি স্ক্রিন চালু রাখুন
ডিভাইসের স্ক্রিন চালু রাখতে, আপনার অ্যাক্টিভিটিতে FLAG_KEEP_SCREEN_ON ফ্ল্যাগ সেট করুন। এই ফ্ল্যাগটি শুধুমাত্র একটি অ্যাক্টিভিটিতে সেট করা যেতে পারে, কোনও পরিষেবা বা অন্য কোনও অ্যাপ কম্পোনেন্টে কখনই নয়। যেমন:
class MainActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) } }
স্ক্রিন চালু রাখার আরেকটি উপায় হল আপনার অ্যাপ্লিকেশনের লেআউট XML ফাইলে
android:keepScreenOn অ্যাট্রিবিউট
সেট করা:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:keepScreenOn="true"> ... </RelativeLayout>
android:keepScreenOn="true" ব্যবহার করার অর্থ হল
FLAG_KEEP_SCREEN_ON ব্যবহার করা।
আপনার অ্যাপের জন্য যেটি সবচেয়ে ভালো, আপনি সেই পদ্ধতি ব্যবহার করতে পারেন। আপনার অ্যাক্টিভিটিতে
প্রোগ্রাম্যাটিক্যালি ফ্ল্যাগ সেট করার সুবিধা হল, এটি আপনাকে পরে প্রোগ্রাম্যাটিক্যালি ফ্ল্যাগ মুছে দেওয়ার
বিকল্প দেয় এবং এর ফলে স্ক্রিন বন্ধ করার অনুমতি দেয়।
FLAG_KEEP_SCREEN_ON ফ্ল্যাগ সহ কোনও অ্যাপ ব্যাকগ্রাউন্ডে চলে গেলে, সিস্টেম স্ক্রিনকে স্বাভাবিকভাবে বন্ধ করার অনুমতি দেয়। এই ক্ষেত্রে আপনাকে আলাদা করে
ফ্ল্যাগ সরাতে হবে না। আপনার অ্যাপের আর স্ক্রিন চালু রাখার প্রয়োজন না থাকলে,
clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) কল করে
ফ্ল্যাগ মুছে দিতে হবে।
টিভির জন্য অ্যাম্বিয়েন্ট মোড
টিভি ডিভাইসে, ভিডিও প্লেব্যাক চলাকালীন ডিভাইস যাতে অ্যাম্বিয়েন্ট মোডে
না চলে যায় তার জন্য FLAG_KEEP_SCREEN_ON ব্যবহার করুন। ফোরগ্রাউন্ড অ্যাক্টিভিটি
FLAG_KEEP_SCREEN_ON সেট না করলে, ডিভাইসটি কিছু সময় ইনঅ্যাক্টিভ থাকার পরে
অটোমেটিক অ্যাম্বিয়েন্ট মোডে চলে যায়।