Disable reboot when holding down the power button for more than 10 seconds

The Fairphone (and a lot of other Android devices) reboot, when the power button is hold down for 10 seconds (or perhaps a few seconds more). You have to enter the pin code after the reboot to reestablish a connection to the mobile network.
This feature makes sense, when you have a device with a non-removable battery. There has to be a way to reboot these devices, if they get stuck in a non-responsive state. I don’t think this feature is needed in a device with a removable battery like the Fairphone, as you can achieve the same effect by simply unplugging the battery.

The problem I have with this behavior is, that I seem to accidentally press the power button long enough for the phone to reboot, while wearing it in my pocket. A lot of forum posts throughout the internet give me the impression, that I’m not the only one with this problem.

Googling gives me the impression, that this is a hard coded Android feature, which is buried deep down in the kernel, so that not even the Xposed framework is able to deactivate it. But perhaps that is not correct.

Does anyone of you know of a way to deactivate this function on the Fairphone? Or perhaps it’s not really buried that deep in the kernel code and there is an app, which is able to disable that feature.

3 Likes

Well, holding down the power button brings up a dialog that offers options to shut the phone down or reboot it or toggle airplane mode, so for the device to restart, you’d need to hit the right spot on the screen as well.

Secondly, if the screen is off, holding down the power button doesn’t bring up the dialog. The screen turns on, but that’s it. This means that while your phone is in your pocket, you’d need to accidentally touch the power button, let it go, then hold down the power button again for a few seconds and then touch the reboot button on the screen. This is all assuming you don’t have a lock screen set up, because that requires more screen input to unlock the device.

To cut a long story short: I have my doubt about this being caused by the power button. Having said that, I have no clue of what else it could be, other than a system crash of Android, which isn’t exactly good news.

Hey, Jerry. Thanks for the fast response. But you don’t get yet, what I mean.

I’m fully aware of the power menu, which appears, when you press the power button for some time. If you want to see the effect, I’m talking about, you have to hold down the button for a lot longer. I think it’s about 10 seconds. It doesn’t matter, if the phone is locked or the screen is turned on or off. This always works. And you don’t have to accidentally hit any options of the power menu. Just try it out on your own device:
Hold down the power button. First, the power menu appears. Just don’t release the button, yet. Keep holding it down for 10 more seconds. The device will restart. It’s not Fairphone-specific, I can reproduce it with my Nexus 7, too.

It is not a bug, it is an intended feature. You could compare it to the 5 second press on the power button of a desktop computer. In most standard settings of the BIOS, it will cause the PC to reboot, too.

As this function is intended to reboot the Android even when it is in a non-responsive state, it has to be a very basic function of the system kernel, which is probably why nobody has been able yet to intercept this call and block it. But I haven’t given up hope yet. That’s why I posted this question.

By the way: there is a way to block the power menu, when the device is turned off or locked. The Xposed module “Xposed Additions” can do that. It should prevent the behaviour you describe in the second paragraph, if anybody has trouble with that. Just be careful about the settings. You can not only disable the long press of the power button, but also the short click. If you disable the short click, you have to provide another option to turn on your screen. Otherwise, you are not enable to unlock your phone any more.

4 Likes

I found a source, which describes this behavior for another device. Obviously it works on the LG Nexus 4, too. I’m pretty sure, it’s a standard Android feature.

Just search for the string “Press power key for 10 seconds to turn it off” on this page:

You’re right, I think it’s an android feature. I’m not aware of a method of disabling this and I’ve not found an app that does this.

The only suggestion I have is that you have a look at using an app to remap the buttons to see if this might be able to disable the long press power control.

+1

I’m quite sure my disconnection problems were caused by this feature (like many others, potentially). As a quick fix, I removed the PIN-code protection of the SIM card to remain online. However, after reboot, the screen is not locked by default. I think this is the cause of random phone calls, randomly changed settings, music starting to play in my pocket, … sometimes funny, but more often than not rather inconvenient.

I’m not an expert at all, so I would love to learn how to remove this deep (BIOS-level) feature, instead of having to find a Fairphone case that protects the power button.

4 Likes

I haven’t thought of deactivating the SIM card’s pin, yet. But I don’t really want to do it. If my SIM card would get stolen, anybody could just put it in another phone and start using it.

Your problem, that the screen is not locked after reboot when the SIM card’s PIN-code protection is turned off, could potentially be solved with Llama or Tasker.

@Chris_R: Remapping the button doesn’t seem to work, as the remapping apps I know of (for example Xposed Additions), are not able to remap the “10 second long press”, only the normal click and long press options can be modified with these.

Oh I see, I didn’t know about this feature. Sorry for the confusion.

I’d also like to see a better solution for this issue. Perhaps a slider on the power button so it could be made unpressable?

I also made this wish on the old “forum”.
So far I know its a feature of the firmware not the OS itself. Just like your PC/Notebook will shutdown if you hold the power button for about 5 seconds regardless of the OS. If you’ve got a phone without a removable battery, it’s quite essential to have this feature on, since its the only way you can reboot a device that does not respond otherwise.
IMHO, it’s the most annoying ‘feature’ of the smartphones: almost all of them have the power button stick out and get pressed by mistake (in a pocket, etc.)