google search 键可以导致dialog dismiss,虽然大多real device没有这个键,但还是预防为好。
.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(event.getKeyCode() == KeyEvent.KEYCODE_SEARCH){
return true;
}
return false;
}
})
例如:
new AlertDialog.Builder(YyBackUp.this)
.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode,
KeyEvent event) {
// TODO Auto-generated method stub
if (event.getKeyCode() == KeyEvent.KEYCODE_SEARCH) {
return true;
}
return false;
}
})
.setTitle(R.string.main_recovery_all)
.setMessage(R.string.msg_recoverys_all)
.setPositiveButton(R.string.dialog_ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
removeDialog(DIALOG_RECOVERY_ALL);
dialog.dismiss();
showSdcardSelectDialog(9);
}
})
.setNegativeButton(R.string.dialog_cancel,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
removeDialog(DIALOG_RECOVERY_ALL);
}
}).show();
http://blog.csdn.net/kufeiyun/archive/2011/01/22/6158581.aspx
http://www.liuzhaocn.com/?p=529同类参考
从Manifest.xml中可以看出,Activity、Service等组件的定义之前,还有一个更高一级的标签,就是Application,这个才是程序的真正入口,可以做全局变量的设置
Application在每个工程中只能定义一次,定义一个类,继承自Application,可重写的方法有
void onConfigurationChanged(Configuration newConfig)
void onCreate()
void onLowMemory()
void onTerminate()
可在类中定义全局变量,定义setter和getter方法
在使用全局变量的地方(假设类名为Global)
Global global = (Global) getApplicationContext();
global.setGlobalVariable("Change");
String text = global.getGlobalVariable();
在Manifest.xml中注册android:name="包名+类名",不用新建,因为Application在整个程序中只有一个
实践证明:application要在进程被彻底关掉时才会退出,生命周期比Activity长多了,而且onTerminate()在退出时不一定会被调用,所以比较不可靠,所以只建议做全局变量的设置
备忘
怎么播放raw中的文件
videoView.setVideoURI(Uri.parse("android.resource://com.titus.audioVideo/" + R.raw.video));