在昨天的Google I/O主题演讲之后,我更新了我的Android SDK,将游戏服务集成到我的一个应用程序中.
到目前为止我做的事情:
BaseGameActivity和GameHelper我的项目(从GitHub)BaseGameActivity,补充一个com.google.android.gms.common.SignInButton我还设置了游戏元数据,当然还有一些成就.开发控制台声明它已准备好发布.为了测试登录流程和成就,我添加了两个Google+帐户作为测试用户.
但是当我测试SignInButton时,会弹出一个警告:未知错误.这是logcat:
ERROR/Volley: il.a: Unexpected response code 403 for https://www.googleapis.com/games/v1/players/me
ERROR/SignInIntentService: Access Not Configured
ERROR/LoadSelfFragment: Unable to sign in - application does not have a registered client ID
Run Code Online (Sandbox Code Playgroud)
我已经在生产模式下构建了我的应用程序 - 使用ProGuard和正确的证书.
我错过了什么?
这里是我在此期间尝试过的简短概述.什么都没有帮助.
该问题与测试部分的帐户无关.使用未启用测试的帐户将导致另一条错误消息:
E/GameAgent: Unable to retrieve 1P application 547xxxxxx457 from network
E/CheckGameplayAcl: Unable to load metadata …Run Code Online (Sandbox Code Playgroud) 我正在使用Sencha Touch(2.1.1)和PhoneGap(2.5.0)开发适用于Android和iOS的应用程序.
在容器的底部有一些输入字段(Ext.field.Text和Ext.field.Email)的视图.当您点击输入字段时,Android SoftKeyboard会显示并将整个视图推到顶部,以便键盘不会隐藏输入字段.
现在,当您隐藏键盘时(通过按下Android隐藏按钮或点击输入字段旁边的任何位置),在您再次点击WebView之前,WebView并不总是快速恢复.
目前我在Nexus 4(Android 4.2.2)上遇到了这个问题.这一切都适用于iOS(iPhone 4/5)甚至索尼XPERIA Go(Android 4.0.4).
以下是该问题的一些屏幕截图:

我已经发现我可以将Android更改windowSoftInputMode为 adjustNothing,但是在隐藏键盘之前你不会看到键入的文本...
塞尔吉奥对3项缓解措施的一些评论.
第一个解决方案对我来说似乎是最好的.它只会影响Android项目,并且不会使我的JS(例如if Ext.os.is.Android ...)或iOS代码膨胀.不幸的是我的Nexus 4还调整焦点和模糊不恢复,如果我设置windowSoftInputMode的描述......
第二种解决方案听起来更复 如果操作系统是Android,我需要在焦点上移动每个(底部对齐)组件并恢复模糊.虽然这绝对是可能的,但可能还有另一个问题:用户可以使用设备的后退键隐藏键盘而不删除输入的焦点(模糊不会触发).所以我不认为这是一个合适的解决方案.
第三种解决方案适用于数字输入.但是为文本输入编写虚拟键盘是一项艰巨的任务:区域设置之间的键对齐方式不同(例如y和z在德语键盘上转换),在提供替代键盘时我们无法满足用户的期望(滑动输入,建议, ...).
不要误会我的意思,我很感谢你和我分享你的缓刑!但我还没有完全满意.
我的Android应用程序包含一个EditText视图,您可以在其中键入一些短消息(单行).按键盘的DONE键将消息附加到上面的日志视图(TextView)并清除输入视图.
这是我的视图xml的片段:
<LinearLayout ...>
<TextView
android:id="@+id/logView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/inputView"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:imeOptions="actionDone"
android:singleLine="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
要处理输入并重置视图,我使用OnEditorActionListener.
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
...
String input = mInputView.getText().toString();
mInputView.setText(""); // clear the input view
...
}
Run Code Online (Sandbox Code Playgroud)
我没有在Android 1.6 - 3上遇到任何问题.但是从IceCreamSandwich(> = Android 4)开始,有一个奇怪的错误,间歇性地发生(在大多数情况下在~10-30输入之后).
键入一些文本时,输入视图保持空白.光标仍然在位置0上闪烁,不显示任何文本.虽然单击DONE会将(不可见)文本添加到上面的日志视图中,但可以读取文本.同时隐藏键盘使EditText视图中的文本可见.
如接受的答案所述,这是一个(并非如此)已知的Android操作系统错误.简单的解决方案是以不同的方式清除EditText视图:
TextKeyListener.clear(mInputView.getText());
Run Code Online (Sandbox Code Playgroud)