如果我在我的应用程序中点击了Powerbutton,而应用程序当前正在运行未调用的onPause
。第一个问题:这通常适用于Android吗?
我尝试通过设置onPause
来调用onKeyListener
。我可以为活动中的所有元素设置此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;
}
});
但这也行不通。所以现在主要的问题是:如果你在应用程序当前运行的时候点击了Powerbutton,你有没有可能打电话给onPause
? (不需要是onKeyListener
)
答案 0 :(得分:2)
当您的活动进入暂停状态时,系统会调用 onPause()方法
http://developer.android.com/training/basics/activity-lifecycle/pausing.html
重要的是要注意应用程序本身从不调用onPause本身,因为这可能会扰乱Activity的生命周期(由Android而不是应用程序管理)。如果用户按下电源按钮,Android将自动暂停活动,无需在您的应用中执行任何操作。 如果你认为onPause没有被调用,请发布onPause代码。
答案 1 :(得分:0)
我只想在手机进入睡眠模式之前拨打onPause
,无论如何......
这是我的onPause
:
@Override
protected void onPause() {
super.onPause();
appactive = 0;
lastappactive = Calendar.getInstance().getTime();
}