相信Android的开发着 对于后台Task的开发都碰的问题吧。 针对今天开发的时候碰到的问题和解决的方法, 分享下。
1.Intent 实例对象的配置
//----Notification 后台task intent 设置
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClass(this, XmeAct.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
//----Notification 后台task intent 设置----end---
setClass 中.class 设置为自己要返回的 activity的名字。
2. 对于 Android Home 键 的监听
方法(1) . 步骤a. @Override onAttachedToWindow() 方法, 使得Home 键功能被屏蔽
@Override
public void onAttachedToWindow() {
// TODO Auto-generated method stub
System.out.println("--onAttachedToWindow---");
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
步骤b. @Override onKeyDown() 方法, 进一步自定义对 Home键进行处理
//---判断Home 键
if(KeyEvent.KEYCODE_HOME==keyCode)
{
//-----自定义Home 键处理
//-----跳转回Android 主界面(和原来Home键是一样的功能)
Intent i= new Intent(Intent.ACTION_MAIN);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);
return super.onKeyDown(keyCode, event);
}
方法2. 根据Home 键的执行 过程中处理 Notification
Home 键的执行过程(不多说了,上网查下。笔者也不是很清楚)
笔者 复写 onUserLeaveHint() 方法。 不管怎么说 点击Home键之后 一定会执行
onUserLeaveHint()方法。在onUserLeaveHint()下 添加一个Notification 。
转载请注明出处:http://blog.youkuaiyun.com/lestat1225/article/details/6872087