Android实现模拟实现类似HOME键的功能

用户按下HOME按键的行为,会发送一个Intent给系统,要求系统加载HomeActivity。

这与应用程序中启动其他的activity没有什么区别。我们要做的就是构建合适的intent以实现该功能。

启动代码如下:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

一般都是重写activity的返回键功能,如下:

@Override
public void onBackPressed() {
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}

但是依然存在问题:点击返回键,返回之后,重新进入APP,依然会走onCreate()生命周期方法。无效解决之一:查找了资料,通过在Manifest.xml文件中设置noHistory属性:


        
            
            
        

设置之后,但是点击返回键依旧会走。

后续继续解决。

 

 

 

你可能感兴趣的:(Android实现模拟实现类似HOME键的功能)