按下电源按钮不会调用 onPause
onPause not called by hitting Powerbutton
如果我在应用程序当前 运行 时按下应用程序中的电源按钮,则 onPause
未被调用。第一个问题:Android 是否常见?
我试图通过设置 onKeyListener
来调用 onPause
。我可以为 activity 中的所有元素设置此 onKeyListener
吗?例如。我把它设置在我的 realativeLayout
.
rLayout.setOnKeyListener(new View.OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_POWER))
{
onPause();
}
return true;
}
});
但这也没有用。那么现在的主要问题是:如果您在应用程序当前处于 运行 时按下电源按钮,您是否有可能调用 onPause
? (不需要成为 onKeyListener
)
As your activity enters the paused state, the system calls the
onPause() method
http://developer.android.com/training/basics/activity-lifecycle/pausing.html
请务必注意,应用程序本身从不调用 onPause 本身,因为这可能会扰乱 Activity 的生命周期(由 Android 而不是应用程序管理)。如果用户按下电源按钮,Activity 将由 Android 自动暂停,无需在您的应用中执行任何操作。
如果您认为没有调用 onPause,请 post onPause 代码。
我只想在我的 phone 进入睡眠模式之前调用 onPause
,但是...
这是我的 onPause
:
@Override
protected void onPause() {
super.onPause();
appactive = 0;
lastappactive = Calendar.getInstance().getTime();
}
如果我在应用程序当前 运行 时按下应用程序中的电源按钮,则 onPause
未被调用。第一个问题:Android 是否常见?
我试图通过设置 onKeyListener
来调用 onPause
。我可以为 activity 中的所有元素设置此 onKeyListener
吗?例如。我把它设置在我的 realativeLayout
.
rLayout.setOnKeyListener(new View.OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_POWER))
{
onPause();
}
return true;
}
});
但这也没有用。那么现在的主要问题是:如果您在应用程序当前处于 运行 时按下电源按钮,您是否有可能调用 onPause
? (不需要成为 onKeyListener
)
As your activity enters the paused state, the system calls the onPause() method
http://developer.android.com/training/basics/activity-lifecycle/pausing.html
请务必注意,应用程序本身从不调用 onPause 本身,因为这可能会扰乱 Activity 的生命周期(由 Android 而不是应用程序管理)。如果用户按下电源按钮,Activity 将由 Android 自动暂停,无需在您的应用中执行任何操作。 如果您认为没有调用 onPause,请 post onPause 代码。
我只想在我的 phone 进入睡眠模式之前调用 onPause
,但是...
这是我的 onPause
:
@Override
protected void onPause() {
super.onPause();
appactive = 0;
lastappactive = Calendar.getInstance().getTime();
}