«حالت محیطی» محافظ صفحهنمایشی است که در Google TV و Android TV تعبیه شده است. هدف آن جلوگیری از نمایش تصاویر ثابت برای مدت طولانی است. این کار برای فناوریهای نمایشگر، مثل OLED، که ممکن است مستعد سوختگی صفحهنمایش باشند، مهم است.
سیستمعامل پساز ۱۰ دقیقه عدم فعالیت کاربر، دستگاه را در «حالت گزینشی» قرار میدهد. پساز مدت زمان دیگری که کاربر غیرفعال باشد (تعریفشده توسط تنظیم «بهینهسازی انرژی» دستگاه)، سیستمعامل وارد حالت «بهینهسازی انرژی» میشود و نمایشگر را خاموش میکند. برنامههای پخش رسانه ممکن است از ورود دستگاه به «حالت گزینشی» جلوگیری کنند، حتی اگر کاربر با آن تعامل نداشته باشد، برای مثال، هنگام تماشای فیلم.
اگر کاربر ظرف ۳۰ دقیقه پساز ورود به «حالت گزینشی» با دستگاه تعامل برقرار کند، برنامهای که هنگام ورود به «حالت گزینشی» فعال بوده است بازیابی خواهد شد. اگر کاربر بیشاز ۳۰ دقیقه پساز ورود به «حالت محیطی» با دستگاه تعامل برقرار کند، به «صفحه اصلی» برگردانده خواهد شد. وقتی کاربر دستگاه را بااستفاده از دکمه روشن/خاموش درحالیکه در حالت «بهینهسازی انرژی» است روشن میکند، به «صفحه اصلی» هدایت میشود. یا اگر کاربر دستگاه را درحالیکه در حالت «ذخیره انرژی» است بااستفاده از دکمههای برنامه خاصی (برای مثال، YouTube) روشن کند، مستقیماً به آن برنامه هدایت میشود.
بازپخش ویدیو
برای بازپخش ویدیو، جلوگیری از ورود دستگاه به «حالت گزینشی» درطول بازپخش آغازشده ازسوی کاربر برای ارائه تجربه تماشای بدون وقفه مهم است. بااینحال، برنامهها نباید وقتی بازپخش متوقف یا موقتاً متوقف میشود، از ورود دستگاهها به «حالت گزینشی» جلوگیری کنند.
بازپخش پیام صوتی
برای پخش صدا، برنامهها نباید درحین پخش از «حالت گزینشی» جلوگیری کنند مگر اینکه محافظ صفحهنمایش خودشان را با تصاویر غیرثابت پیادهسازی کنند. پخش صدا درطول فعال بودن «حالت محیطی» ادامه خواهد داشت.
بازپخش صدا در Android بهطور ضمنی قفل بیداری جزئی را نگه میدارد. این کار از ورود دستگاه به «حالت گزینشی» جلوگیری نمیکند، اما از انتقال بعدی به حالت «صرفهجویی در مصرف انرژی» جلوگیری میکند. بنابراین، بازپخش حتی پساز ورود دستگاه به «حالت گزینشی» ادامه خواهد یافت، اما برای اینکه بازپخش بدون وقفه انجام شود، دستگاه به حالت خواب نخواهد رفت.
جلوگیری از «حالت محیطی»
میتوان از قرار دادن دستگاه در «حالت گزینشی» توسط سیستمعامل جلوگیری کرد، اما این کار باید مطابق با الزامات «حالت گزینشی» انجام شود. توسعهدهندگان برنامه نمیتوانند از ورود دستگاه به حالت «بهینهسازی انرژی» جلوگیری کنند.
برنامهها میتوانند با تنظیم پرچمی در
Window مانع از خاموش شدن صفحهنمایش شوند:
کاتلین
activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
جاوا
requireActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
وقتی این پرچم تنظیم شده باشد، «حالت محیطی» غیرفعال خواهد شد. برای فعال کردن مجدد آن باید پرچم را پاک کنید:
کاتلین
activity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
جاوا
requireActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);