परिचय
कुछ ऐप्स (जैसे नेविगेशन, वीडियो प्लेयर) के लिए स्क्रीन को चालू रखना आवश्यक होता है। `FLAG_KEEP_SCREEN_ON` विंडो फ्लैग का उपयोग करके इसे प्रोग्रामेटिक रूप से सक्षम किया जा सकता है।
कार्यान्वयन
चरण 1: लेआउट (activity_main.xml)
<TextView android:id="@+id/textView" android:text="Stay Awake Android!" android:textSize="25dp" android:textStyle="bold" android:textColor="#FF9800" android:layout_centerInParent="true" ... />
चरण 2: MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}चरण 3: AndroidManifest.xml
मानक मैनिफेस्ट, कोई विशेष अनुमति नहीं।
व्याख्या
- `getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)` स्क्रीन को चालू रखता है जब तक यह एक्टिविटी विजिबल है।
- यह `android:keepScreenOn="true"` XML विशेषता के बराबर है।
- वेक लॉक (`PowerManager.WakeLock`) की तुलना में सरल और सुरक्षित है (अनुमति की आवश्यकता नहीं)।
- जब एक्टिविटी रुकती है या नष्ट होती है, तो फ्लैग स्वचालित रूप से साफ हो जाता है।
वैकल्पिक: XML में
<TextView ... android:keepScreenOn="true" />
यह केवल उस व्यू के विजिबल होने पर स्क्रीन चालू रखता है।