今天接到一个需求,要求在我之前写的应用里增加命令行带参数形式的启动方式,在命令行启动的时候要求屏蔽掉HOME键和回退键,并且去掉 titlebar 和 status bar (说白了就是全屏),本来认为很简单的一个需求,却发现纠结了很久,所以今天特意在此整理下。
一 首先命令行启动 : 很简单
1. 在要启动的Activity 中的 onCreate方法中 得到Intent, 然后用一个全局的 boolean 标识是否为 参数启动 代码大致如下
XXXActivity{
private boolean mLanchOut;
onCreate(){
Intent intent= getIntent();
mLaunchOut = intent.getExtraBoolean("launchOut",false); // launchOut 为外部传进来参数的key值
}
}
2 启动一个命令窗口 adb shell 进去之后 然后 am start -n com.***.***/com.***.***.XXX -ez launchOut true (注:com.***.*** 表示你应用程序的包名 , com.***.***.XXX 表示你要启动的那个Activity的那个类的完整类名);
这样的话 以后的要依据做是否为参数启动做相应的操作就根据 mLaunchOut的值来判断
二 然后是屏蔽到back 键 也很简单
在Activity类中重写 onBackPress()方法
@Override
public void onBackPressed() {
.....