Turn off screen on Android
There are two choices for turning the screen off:
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
// Choice 1
manager.goToSleep(int amountOfTime);
// Choice 2
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();
You will probably need this permission too:
<uses-permission android:name="android.permission.WAKE_LOCK" />
UPDATE:
Try this method; android turns off the screen once the light level is low enough.
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
android: turn screen Off
You can achieve it by setting the wake_setting time to 1 second.
I have already tried both of above shared ways, which shows slightly visible screen on but by setting wake_setting to 1 sec.
I have to just turn off the screen. For that purpose you are going to add SETTING_Change permission ( only available in rooted handset).
Turn off screen programmatically when face is close the screen on Android
I found solution by disassembling one very famous VoIP application. This activity after pressing button1 will disable screen and hardware keys when you close sensors. After pressing button2 this function will be switched off.
Also, this function required permission:
<uses-permission android:name="android.permission.WAKE_LOCK" />
Activity. Try it.
public class MainActivity extends Activity {
private Button button1;
private Button button2;
private PowerManager powerManager;
private PowerManager.WakeLock wakeLock;
private int field = 0x00000020;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
// Yeah, this is hidden field.
field = PowerManager.class.getClass().getField("PROXIMITY_SCREEN_OFF_WAKE_LOCK").getInt(null);
} catch (Throwable ignored) {
}
powerManager = (PowerManager) getSystemService(POWER_SERVICE);
wakeLock = powerManager.newWakeLock(field, getLocalClassName());
setContentView(R.layout.main);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(!wakeLock.isHeld()) {
wakeLock.acquire();
}
}
});
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(wakeLock.isHeld()) {
wakeLock.release();
}
}
});
}
}
Could adb command disable/turn off a display screen of android phone while it is still working as normal?
As I found that there is no adb command for this.
Fortunately, thanks for guideline of scrcpy developer (@rom1v), I have successfully made it work with java code in instead.
https://github.com/Genymobile/scrcpy/issues/2888
Demo video: https://www.youtube.com/watch?v=uMXGYrTn11E
Related Topics
Using the Android Recognizerintent with a Bluetooth Headset
Android:How to Set Onclick Event for Button in List Item of Listview
Latest Update on Enabling and Disabling Mobile Data Programmatically
How to Access the Drawable Resources by Name in Android
Finish All Activities at a Time
How to Start Service Using Alarm Manager in Android
Android How to Work with Asynctasks Progressdialog
How to Set a Gradient Background in a Material Button from Material Components
Streaming Video from Android Camera to Server
How to Create a Circular Progressbar in Android Which Rotates on It
Android Spinner with Multiple Choice
Android: Getting a File Uri from a Content Uri
In Android, How to Set Margins in Dp Programmatically
Get Content Uri from File Path in Android
Dynamically Changing the Fragments Inside a Fragment Tab Host
Android Heap Size on Different Phones/Devices and Os Versions
Is There Any Way in Android to Get the Height of Virtual Keyboard of Device