برخیاز برنامهها، مثل بازیها یا برنامههای فیلم، باید صفحهنمایش را روشن نگه دارند. برخیاز میاناهای برنامهسازی کاربردی Android بهطور خودکار صفحهنمایش را برای شما روشن نگه میدارند. در موارد دیگر، میتوانید پرچمی تنظیم کنید تا صفحهنمایش را بهصورت دستی روشن نگه دارید.
روشن نگه داشتن صفحهنمایش بهصورت دستی
برای روشن نگه داشتن صفحهنمایش دستگاه، پرچم 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) } }
روش دیگر برای روشن نگه داشتن صفحهنمایش، تنظیم
ویژگی android:keepScreenOn
در فایل XML چیدمان برنامه است:
<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 را تنظیم نکند، دستگاه پساز مدتی عدم فعالیت بهطور خودکار وارد «حالت گزینشی» میشود.