上架到华为应用商店,被打回
“您的应用存在影响终端设备功能的返回键失灵问题,不符合华为应用市场审核标准。”
这个意思是说游戏界面全屏后,看不到系统导航了吗?比如返回键等
这个应该怎么处理?
上架到华为应用商店,被打回
“您的应用存在影响终端设备功能的返回键失灵问题,不符合华为应用市场审核标准。”
这个意思是说游戏界面全屏后,看不到系统导航了吗?比如返回键等
这个应该怎么处理?
是不是没有监听cocos的cc.SystemEvent.EventType.KEY_UPk这个事件处理cc.macro.KEY.back,然后调起华为sdk的退出游戏,或者自己处理的退出游戏
不知道华为是不是这个意思,我以为是没有显示底部的系统导航条
因为cocos重写了onclickBack,所以如果游戏不处理,点返回就没有反应,很多渠道都要求要有退出游戏功能的
public boolean dispatchKeyEvent(KeyEvent event){
final AppActivity self = (AppActivity)Cocos2dxActivity.getContext();
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK){
//抬起才处理
if(event.getAction() == KeyEvent.ACTION_UP) {
//安卓弹框格式有问题, 机型不一致,UI的布局还不一致!!!
TextView title = new TextView(self);
title.setText(“提示”);
title.setPadding(0, 25, 0, 0);
title.setGravity(Gravity.CENTER);
title.setTextSize(25);
title.setTextColor(Color.WHITE);
AlertDialog.Builder builder = new AlertDialog.Builder(self);
AlertDialog dialog = builder.setCustomTitle(title)
.setMessage(“确定退出游戏?”)
.setPositiveButton(“是”, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
onBackPressed();
}
})
.setNegativeButton(“否”, null)
.show();
// AlertDialog dialog = builder.create();
Button btnPositive = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
Button btnNe = dialog.getButton(AlertDialog.BUTTON_NEGATIVE);
//设置按钮居中
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.CENTER;
layoutParams.setMargins(10,10,10,10);
layoutParams.width = 0;
layoutParams.weight = 500;
btnPositive.setLayoutParams(layoutParams);
btnNe.setLayoutParams(layoutParams);
//修复部分机型,按钮布局的问题
Window window = dialog.getWindow();
window.setGravity(Gravity.CENTER);
Display d = window.getWindowManager().getDefaultDisplay();
WindowManager.LayoutParams p = window.getAttributes();
Point size = new Point();
d.getSize(size);
p.width = size.x;
window.setAttributes(p);
//退出游戏-- js层退出游戏,会造成游戏进程成为僵尸进程,无法彻底杀掉!!
/*this.runOnGLThread(new Runnable() {
@Override
public void run() {
String call = "ThirdMgr.onClickBack()";
Cocos2dxJavascriptJavaBridge.evalString(call);
}
});*/
}
}
return super.dispatchKeyEvent(event);
}