我有一个Home替换活动,您可以在其中启动许多应用程序。点击“主页”按钮后,您将返回“我的主页”替换活动。
据我所知,点击“主页”按钮会创建启动主屏幕的意图,然后启动该意图(我可能错了,如果我是,请纠正我!)。如果是这种情况,我希望每当创建主屏幕时都会运行onCreate()
方法。另一方面,当您启动另一个活动时,主屏幕会调用onPause()
。所以返回它会让我假设onResume()
被调用。
如果有人可以对此问题提供一些启示,那么基本问题是当我点按“主页”按钮时是否会调用onResume()
或onCreate()
,但欢迎提供其他详细信息,我正在努力利用这一点并且想要了解很多的东西。
答案 0 :(得分:9)
在活动
中逐个安装应用程序后,逐个方法调用之后按Home键然后按方法调用
注意:按主页按钮后,onDestroy()方法无法调用。
以下代码用于演示目的。首先在模拟器或设备中运行您的代码,然后单击HOME按钮检查控制台中的结果。
package com.example.checkdataversion;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
private static final String TAG = "main";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Log.i(TAG, "oncreate");
setContentView(R.layout.fragment_main);
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.i(TAG, "onstart");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.i(TAG, "onresume");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.i(TAG, "onpause");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.i(TAG, "onstop");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.i(TAG, "ondestroy");
}
}
答案 1 :(得分:8)
点击“主页”按钮可创建启动主屏幕的意图,然后启动该意图
正确。
如果是这种情况,我希望每当创建主屏幕时都会运行onCreate()方法
不一定。如果它已在运行,则会使用onNewIntent()
调用它。
如果有人可以对这个问题提供一些启示,那么基本的问题是当我点击主页按钮时是否调用onResume()或onCreate()
任何活动从用户输入角度返回前台时,都会调用onResume()
。在这方面,主屏应该没有什么不同。
onCreate()
startActivity()
次调用,则会使用onNewIntent()
和onResume()
(通常为onStart()
来调用该活动)。
答案 2 :(得分:1)
很简单,你只需要覆盖onAttachedToWindow()
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
然后轻松按下主页按钮
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
//do some stuff
}
});
从http://nisha113a5.blogspot.fr/
获取希望得到这个帮助。