برخی از برنامه ها مانند بازی ها یا برنامه های فیلم، باید صفحه نمایش را روشن نگه دارند. برخی از API های 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) } }
جاوا
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().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
تنظیم نکند، دستگاه به طور خودکار پس از مدتی عدم فعالیت وارد حالت محیطی می شود.