我正在使用谷歌登录服务来验证使用我的应用程序的用户.当我刚要求电子邮件信息时,我得到了它的工作
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail().build();
Run Code Online (Sandbox Code Playgroud)
然后,我发现我还需要请求ID令牌才能使用我的后端进行身份验证,所以我做了:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(String.valueOf(R.string.server_client_id))
.requestEmail().build();
Run Code Online (Sandbox Code Playgroud)
问题是它不会让我在更改后登录.我每次尝试登录时都会得到的状态是Status{statusCode=unknown status code: 12501, resolution=null}.
我一直在寻找,我发现这篇文章几乎是一回事.但是,我没有回答任何人所提出的任何错误,我的开发控制台中的oAuth客户端ID用于Web应用程序:
并且R.string.server_client_id是图片中的第一个客户端ID.包名称当然是正确的,否则它甚至在没有令牌请求的情况下也无法工作.2人还建议应用程序需要签名才能使用,但googles文档说调试密钥也应该工作,并且让人们签署应用程序进行调试没有意义.
我一直在试图解决这个问题几个小时但没有成功.可能是什么问题呢?请随时索取我可能忘记放在这里的更多信息.
我在代码中遇到过这个类,我正在维护:
new GenericFutureListener<Future<? super Void>>() {...}
Run Code Online (Sandbox Code Playgroud)
我很难理解这意味着什么.甲Future含有类型要么是Void或它的超类- Object.那么为什么不写Future<Object>呢?
我将片段事务添加到后台堆栈时遇到问题.我有一个Main活动,我在其中使用Menu Fragment填充我的布局:
public class MainActivity extends ActionBarActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getFragmentManager().beginTransaction().add(R.id.frag_container, new MainMenuFragment()).commit();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in …Run Code Online (Sandbox Code Playgroud) 我的nextFocus...属性有问题EditText.首先,我很难理解nextFocus...我应该使用哪一个参数.当我按下Next我的软键盘时,它正在寻找下一个EditText,但我怎么知道它是向下看还是向上看还是在哪里?我仍然需要指定下一个要聚焦的View的ID,那么为什么要干扰方向呢?
无论如何,这是我的布局:http: //imgur.com/na1xn2s
当我编辑Stacks时,我希望下一个EditText是Rest,但它不起作用.这是我的代码:
stacks = (EditText) dialogView.findViewById(R.id.calc_stacks_edit);
rest = (EditText) dialogView.findViewById(R.id.calc_rest_edit);
stacks.setImeOptions(EditorInfo.IME_ACTION_NEXT);
stacks.setNextFocusDownId(R.id.calc_rest_edit);
rest.setImeOptions(EditorInfo.IME_ACTION_DONE);
Run Code Online (Sandbox Code Playgroud)
EditText当按下"下一步"按钮时,它仍然会显示"休息的数量".问题是什么?