Android 用Launcher启动应用的方式

2014-11-24 08:49:43 ? 作者: ? 浏览: 1

在做展讯平台的时候遇到四叶草锁屏,下滑可以快速进入拍照应用,经调试发现每次打开都是新的activity,并没有还原之前锁屏之前相机的状态,通过代码跟踪和调试发现,与Intent设置启动参数有关,改动点见文中fix begin和fix end 标志:


public void onTrigger(View v, Intent intent) {


if(mCallback!=null) {
Log.d("cara","onTrigger mCallback="+mCallback);
mCallback.pokeWakelock();

mStatus1.setVisibility(View.GONE);
mStatus2.setVisibility(View.GONE);
mDragHint.setVisibility(View.VISIBLE);


mIntent = null;
if(intent != null){
mIntent = new Intent(intent);
//fix begin
mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
mIntent.addCategory(Intent.CATEGORY_LAUNCHER);
//fix end
mContext.startActivity(mIntent);
}



mHandler.postDelayed(new Runnable() {
public void run() {
if(mCallback!= null)
mCallback.goToUnlockScreen();

}
}, 250);
}
}


onTrigger函数是每次滑动到屏幕到一个解锁位置(比如滑动到相机应用或者滑动到解锁点的时候)会触发这个函数


Intent设置这样的参数后就相当于从Launcher里面进入应用了,可以完美的还原相机应用之前的状态。


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: