现在问题是,游戏中,锁屏,然后再解锁屏幕,游戏重新运行,没有继续运行..需要实现的功能是继续运行....
代码如下: public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startApp();
final IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
BroadcastReceiver mBatInfoReceiver = null;
registerReceiver(mBatInfoReceiver, filter);
mBatInfoReceiver = new BroadcastReceiver() {
public void onReceive(final Context context, final Intent intent) {
final String action = intent.getAction();
if (Intent.ACTION_SCREEN_ON.equals(action)) {
onRestoreInstanceState(savedInstanceState);
onResume();
Log.d("", "screen is on...");
} else if (Intent.ACTION_SCREEN_OFF.equals(action)) {
Log.d("", "screen is off...");
onSaveInstanceState(savedInstanceState);
onPause();
}
}
}; } public void onSaveInstanceState(Bundle savedInstanceState) { super.onSaveInstanceState(savedInstanceState);
}
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
各位大神指导一下,哪里出问题了.!
代码如下: public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startApp();
final IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
BroadcastReceiver mBatInfoReceiver = null;
registerReceiver(mBatInfoReceiver, filter);
mBatInfoReceiver = new BroadcastReceiver() {
public void onReceive(final Context context, final Intent intent) {
final String action = intent.getAction();
if (Intent.ACTION_SCREEN_ON.equals(action)) {
onRestoreInstanceState(savedInstanceState);
onResume();
Log.d("", "screen is on...");
} else if (Intent.ACTION_SCREEN_OFF.equals(action)) {
Log.d("", "screen is off...");
onSaveInstanceState(savedInstanceState);
onPause();
}
}
}; } public void onSaveInstanceState(Bundle savedInstanceState) { super.onSaveInstanceState(savedInstanceState);
}
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
各位大神指导一下,哪里出问题了.!
解决方案 »
- 求助Edittext不能获得焦点
- SurfaceView播放视频时,视频画面没有占满整个视图窗口
- Android怎么跑起来啊
- at com.cn.sanjiaoxingRender.onDrawFrame(sanjiaoxingRender.java:29)
- 多张图片组合成一段视频怎么搞?
- 能不能推荐下,国外的android 开发,实战例子多一些的书籍呢。
- 关于自定义相机的疑问
- android textView 中加载<img>标签中的网络图片,ImageGetter中 getDrawable(Str)str为null
- 数据修改
- Runtime.getRuntime()报错null environment?请教大神
- gridview如何去掉外边框
- android RemoteCallbackList beginbroadcast 失败
super.onCreate(savedInstanceState);
startApp();
final IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
BroadcastReceiver mBatInfoReceiver = null;
registerReceiver(mBatInfoReceiver, filter);
mBatInfoReceiver = new BroadcastReceiver() {
public void onReceive(final Context context, final Intent intent) {
final String action = intent.getAction();
if (Intent.ACTION_SCREEN_ON.equals(action)) {
onRestoreInstanceState(savedInstanceState);
onResume();
Log.d("", "screen is on...");
} else if (Intent.ACTION_SCREEN_OFF.equals(action)) {
Log.d("", "screen is off...");
onSaveInstanceState(savedInstanceState);
onPause();
}
}
}; } public void onSaveInstanceState(Bundle savedInstanceState) { super.onSaveInstanceState(savedInstanceState);
}
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}重新发一下代码...方便大家看
onRestoreInstanceState()里恢复游戏状态数据;
onPause()里保存游戏状态;
onResume()里恢复游戏状态。
按下锁屏键之后,系统会调用 onSaveInstanceState onRestoreInstanceState 这两个方法..
按下HOME键 系统会调用 onSaveInstanceState
按道理,按锁屏跟按HOME是一样的,只会调用一个方法啊
这些方法里面,好像我不需要写什么东西把?
onResume
onSaveInstanceState
onRestoreInstanceState
你需要的是重载必要的函数来保存状态,框架在合适的时候会调用你,而不是你调用框架,你在BroadCastReveiver里的代码不知道想干嘛,还是先正确理解Activit生命周期相关的知识吧
我想知道你在
onPause
onResume
onSaveInstanceState
onRestoreInstanceState
这些方法里做了些什么?