android项目接入SDK以后,切换黑屏问题。
2014-04-16 17:29
465 查看
前一段时间在介入为cocos2d项目介入SDK的时候发现,如果在SDK界面(比如登入框界面)并且这个界面只占了屏幕的一部分。也就是说这时候你也可以看到登录框底下的游戏界面。当然这个是正常的表现。接下来如果你按下设备的home键或者menu键,然后重新返回程序。不正常的情况就发生了——这时候你只看到了SDK的登录框,而登录框底下的游戏界面并没有显示出来,是黑色的。
这个问题上网找了很多资料。当然找到最多的是android的那四个launchMode,但是我每个都试过去,发现都不行。没办法,只好自己找原因。接着就发现原来是有些SDK的界面(比如登录界面)是采用启动一个新的activity的方式。所以导致我们在调用SDK的时候,游戏本身会pause掉。这时候你按下设备的home键,SDK应该也会pause掉。然后你重新返回游戏。这时候只有SDK会resume,但是我们游戏自己的程序并没有resume!好了问题找到了。但是我是小白。。。。不知道怎么解决。所以只好采取最笨的方法——在onPause的地方判断是否是调用SDK的时候造成的onPause,如果是,那么游戏就直接return掉。当然你可以在里面做一些其他操作,比如暂停游戏声音之类的;如果是home之类的造成的onPause,那就按正常的流程走。代码如下:
ActivityManager activityManager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = activityManager.getRunningTasks(1);
boolean result = tasks.get(0).baseActivity.getClassName().contains("your ActivityName");
if (!result) {
Log.e("=================", "home or menu");
this.mGLSurfaceView.onPause();
return;
}
else {
Cocos2dxHelper.pauseBackgroundMusic();
}
当然这是一个笨办法,如果有其他好的方法帮忙告诉我哈。
PS:那位大神知道怎么贴代码。。。这样贴代码格式都乱了。。。;本人语言组织能力太差,看不懂不要喷我哈。
这个问题上网找了很多资料。当然找到最多的是android的那四个launchMode,但是我每个都试过去,发现都不行。没办法,只好自己找原因。接着就发现原来是有些SDK的界面(比如登录界面)是采用启动一个新的activity的方式。所以导致我们在调用SDK的时候,游戏本身会pause掉。这时候你按下设备的home键,SDK应该也会pause掉。然后你重新返回游戏。这时候只有SDK会resume,但是我们游戏自己的程序并没有resume!好了问题找到了。但是我是小白。。。。不知道怎么解决。所以只好采取最笨的方法——在onPause的地方判断是否是调用SDK的时候造成的onPause,如果是,那么游戏就直接return掉。当然你可以在里面做一些其他操作,比如暂停游戏声音之类的;如果是home之类的造成的onPause,那就按正常的流程走。代码如下:
ActivityManager activityManager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = activityManager.getRunningTasks(1);
boolean result = tasks.get(0).baseActivity.getClassName().contains("your ActivityName");
if (!result) {
Log.e("=================", "home or menu");
this.mGLSurfaceView.onPause();
return;
}
else {
Cocos2dxHelper.pauseBackgroundMusic();
}
当然这是一个笨办法,如果有其他好的方法帮忙告诉我哈。
PS:那位大神知道怎么贴代码。。。这样贴代码格式都乱了。。。;本人语言组织能力太差,看不懂不要喷我哈。
相关文章推荐
- android项目接入SDK切换回游戏黑屏
- Android Activity A 启动Activity B, Acitvity B关闭之后调起Activity C这时切换出现黑屏的问题
- 线程问题 之 登陆问题(91 Android版本SDK接入闪屏问题解决)
- 解决Activity启动黑屏和设置android:windowIsTranslucent不兼容activity切换动画的问题
- Android解决Fragment中使用SurfaceView切换时闪一下黑屏的问题
- Android 关于更新了新版本的SDK,创建项目出现appcompat_v7报错问题
- ANDROID接入华为SDK遇到的SHA256withRSA的问题解决
- Android 解决SurfaceView切换导致界面闪烁,短暂黑屏问题。
- iOS 平台 Cocos2d-x 项目 接入第三方SDK 的坑(就是静态库接入的问题)
- 关于XCode里导入cocos2dx项目接入微信分享SDK问题!
- Android项目中sdk 23无法使用HttpGet 和HttpClient的问题解决--只需改一行
- cocos2d-x 接入android ,登录第三方SDK时屏幕不断闪烁刷屏的问题解决
- 解决SDK更新后项目工程Unable to resolve target 'android-**'问题
- 解决Activity启动黑屏及设置android:windowIsTranslucent不兼容activity切换动画问题
- 解决Activity启动黑屏及设置android:windowIsTranslucent不兼容activity切换动画问题
- 解决Activity启动黑屏及设置android:windowIsTranslucent不兼容activity切换动画问题
- android开放平台接入后项目打包中出现的问题
- 解决Activity启动黑屏及设置android:windowIsTranslucent不兼容activity切换动画问题
- SDK升级后问题 Errors occurred during the build. Errors running builder 'Android Pre Compiler' on project'项目名称' java.lang.NullPointerException.
- 解决Activity启动黑屏及设置android:windowIsTranslucent不兼容activity切换动画问题