package net.oschina.app.ui;
import net.oschina.app.AppManager;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
/**
* 应用程序Activity的基类
*
* @author liux (http://my.oschina.net/liux)
* @version 1.0
* @created 2012-9-18
*/
public class BaseActivity extends Activity {
// 是否允许全屏
private boolean allowFullScreen = true;
// 是否允许销毁
private boolean allowDestroy = true;
private View view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
allowFullScreen = true;
// 添加Activity到堆栈
AppManager.getAppManager().addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
// 结束Activity&从堆栈中移除
AppManager.getAppManager().finishActivity(this);
}
public boolean isAllowFullScreen() {
return allowFullScreen;
}
/**
* 设置是否可以全屏
*
* @param allowFullScreen
*/
public void setAllowFullScreen(boolean allowFullScreen) {
this.allowFullScreen = allowFullScreen;
}
public void setAllowDestroy(boolean allowDestroy) {
this.allowDestroy = allowDestroy;
}
public void setAllowDestroy(boolean allowDestroy, View view) {
this.allowDestroy = allowDestroy;
this.view = view;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && view != null) {
view.onKeyDown(keyCode, event);
if (!allowDestroy) {
return false;
}
}
return super.onKeyDown(keyCode, event);
}
}