安卓谷歌登录不可用?

2024-02-23

所以我的项目遇到的一个问题是通过谷歌登录不能一致工作。即,它适用于我的朋友,而不是我的计算机上的我,尽管它昨天在擦除我的手机之前对我有用(手机已损坏)。我们的登录代码是google登录的标准,问题是我认为结果一直返回false。代码:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.welcome_screen);
        findViewById(R.id.sign_in_button).setOnClickListener(this);

        GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestEmail()
                .build();

        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
                .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
                .build();

        SignInButton signInButton = (SignInButton) findViewById(R.id.sign_in_button);
        signInButton.setSize(SignInButton.SIZE_STANDARD);
        signInButton.setScopes(gso.getScopeArray());

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.sign_in_button:
                signIn();
                break;
        }
    }   

private void signIn() {
        Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
        startActivityForResult(signInIntent, RC_SIGN_IN);
    }

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
        if (requestCode == RC_SIGN_IN) {
            GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
            handleSignInResult(result);
        }
    }

    private void handleSignInResult(GoogleSignInResult result) {
        if (result.isSuccess()) {
            // Signed in successfully, show authenticated UI.
            GoogleSignInAccount acct = result.getSignInAccount();

//            mStatusTextView.setText(getString(R.string.signed_in_fmt, acct.getDisplayName()));
            updateUI(acct);
        } else {
            // Signed out, show unauthenticated UI.
            noUpdateUI();
        }
    }

    private void updateUI(GoogleSignInAccount acct) {
        Intent intent = new Intent(getApplicationContext(), HomeScreen.class);

        Bundle bundle = new Bundle();
        bundle.putSerializable("NEW_USER", new ClientUser(acct));
        intent.putExtras(bundle);

        startActivity(intent);
    }


For some reason, the result is false:

    private void noUpdateUI() {
        System.out.println("**** Try again****");
//        mStatusTextView.setText(R.string.signed_out);
        findViewById(R.id.sign_in_button).setVisibility(View.VISIBLE);
    }

我认为我已经正确设置了应用程序的凭据,因为在我擦除手机之前它之前可以在我的桌面上运行。值得注意的是,我的朋友在笔记本电脑上工作时遇到了同样的问题,但在台式机上工作时没有遇到问题。不确定发生了什么;有什么建议么?

来自 sys.out 的日志:

12-16 18:48:43.282 27375-27375/oose2017.place2b D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
12-16 18:48:43.412 27375-27375/oose2017.place2b I/Timeline: Timeline: Activity_launch_request id:oose2017.place2b time:3231784
12-16 18:48:43.452 27375-27375/oose2017.place2b D/Activity: performCreate Call Injection manager
12-16 18:48:43.462 27375-27375/oose2017.place2b I/InjectionManager: dispatchOnViewCreated > Target : com.google.android.gms.auth.api.signin.internal.SignInHubActivity isFragment :false
12-16 18:48:43.462 27375-27375/oose2017.place2b D/PhoneWindow: *FMB* installDecor mIsFloating : false
12-16 18:48:43.462 27375-27375/oose2017.place2b D/PhoneWindow: *FMB* installDecor flags : 8454400
12-16 18:48:43.462 27375-27375/oose2017.place2b D/SecWifiDisplayUtil: Metadata value : SecSettings2
12-16 18:48:43.472 27375-27375/oose2017.place2b D/PhoneWindow: *FMB* isFloatingMenuEnabled mFloatingMenuBtn : null
12-16 18:48:43.472 27375-27375/oose2017.place2b D/PhoneWindow: *FMB* isFloatingMenuEnabled return false
12-16 18:48:43.482 27375-27375/oose2017.place2b D/SRIB_DCS: log_dcs ThreadedRenderer::initialize entered! 
12-16 18:48:43.492 27375-27584/oose2017.place2b D/mali_winsys: new_window_surface returns 0x3000,  [1440x2560]-format:1
12-16 18:48:43.542 27375-27375/oose2017.place2b I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@174719e3 time:3231916
12-16 18:48:43.962 27375-27375/oose2017.place2b V/ActivityThread: updateVisibility : ActivityRecord{1458bd29 token=android.os.BinderProxy@e9978a8 {oose2017.place2b/oose2017.place2b.interfaces.Welcome.WelcomeScreen}} show : true
12-16 18:48:43.962 27375-27375/oose2017.place2b V/ActivityThread: updateVisibility : ActivityRecord{d3e4299 token=android.os.BinderProxy@174719e3 {oose2017.place2b/com.google.android.gms.auth.api.signin.internal.SignInHubActivity}} show : true
12-16 18:48:48.102 27375-27375/oose2017.place2b I/System.out: ***** Try again!*****
12-16 18:48:48.132 27375-27375/oose2017.place2b I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@e9978a8 time:3236507

我有同样的问题。 我通过执行以下操作解决了这个问题:

  1. 我转到我的 build.gradle(app),在 defaultConfig 中,并将 applicationId 更改为我的包名称(我不知道为什么它最初不一样)。 我从compile 'com.google.android.gms:play-services-auth:8.3.0' to compile 'com.google.android.gms:play-services-auth:8.4.0'确保apply plugin: 'com.google.gms.google-services'位于 build.gradle(app) 的底部,即在依赖项之后

  2. 我生成了一个新的 SHA-1 密钥。要生成 SHA-1 密钥,请将其粘贴到您的终端中:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android然后去你的凭证页面 https://console.developers.google.com/projectselector/apis/credentials并选择您的项目。

  3. 在 OAuth 2.0 客户端下,单击您的 Android 客户端密钥。按照指示粘贴您生成的 SHA-1 密钥和包名称。单击保存。

    1. 下载新的 google-services.json 文件并将其粘贴到您的 app/ 目录中。

然后尝试再次登录。希望它能起作用。 欲了解更多信息,请参阅此post https://stackoverflow.com/a/35050443/5604736 and 这也是 https://stackoverflow.com/a/35077016/5604736。它帮助我解决了我的问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安卓谷歌登录不可用? 的相关文章

  • “_加载小部件时出现问题”消息

    加载小部件时 如果找不到资源或其他内容 则会显示 加载小部件时出现问题 就这样 惊人的 此消息保留在主屏幕上 甚至没有说明加载时遇到问题的小部件 我通过反复试验弄清楚了这一点 但我想知道发生这种情况时是否有任何地方可以找到错误消息 Andr
  • 如何在 Android / Java 中获取图像的分辨率

    如何在 Android 中找到任何图像的分辨率 获取存储在磁盘中的图像大小的有效方法 例如获取用户选择上传的图像文件的大小 是使用BitmapFactory Options并设置inJustDecodeBounds为真 这样做你就会获取图像
  • 对话框上的 EditText 不返回任何文本

    我太累了 找不到错误 我没有发现任何错误 但我没有从 editText 收到任何文本 请看下面的代码 活动密码 xml
  • 使用库来维护免费/付费的应用程序版本

    维护免费 付费应用程序版本的共识似乎是使用库 并从每个活动中设置一个标志 以从代码库中获取不同的功能 这有多安全 据我了解 一个人可以root他们的手机 获取APK 并且可以对其进行反编译 即使代码被混淆 也不难看出该应用程序是带有标志的包
  • GridView 中多次调用 getView()

    我的 Activity 由包含 40 多个元素的 GridView 组成 开始活动后 用户最多可以看到 15 个项目 3 行 每行 5 个项目 我在 getView 正文中编写传递给获取 View 的 LogCat 编号 Log i get
  • 在 Anko DSL 中创建自定义 View/ViewGroup 类

    我想创建一个自定义视图 它只是一些 Android 视图的包装 我考虑创建一个自定义 ViewGroup 来管理其子视图的布局 但我不需要这么复杂 我基本上想做的是 class MainActivity verticalLayout tex
  • ProGuard 无法与 Windows 中使用的 Joda Time 一起编译

    实际上 这是一个答案 而不是一个问题 我确实在 Windows 上花了很多时间 使用 JodaTime 并使用 ProGuard 将其包含在我的 Android 项目中 混淆器配置 libraryjars C Users Reto Docu
  • 在 Android 中长按时从操作模式中删除后退/主页按钮

    我已经在里面长按实现了上下文操作模式recycler view 为此我打电话给ActionModeCallback从创建动作模式开始 创建动作模式时 默认显示后退箭头 检查如下 单击后退箭头 操作模式将关闭 现在我想要hide or rem
  • Renderscript 示例构建错误

    所以我想尝试使用 RenderScript 的示例 并在 Eclipse 中导入了 HelloWorld 但它给了我这样的错误 2011 10 25 13 10 48 HelloWorld home mileoresko workspace
  • 如何以编程方式断开拨出呼叫

    我使用以下代码以编程方式断开呼叫 但它不起作用 private void callDisconnect try TelephonyManager manager TelephonyManager this getSystemService
  • 尝试在模拟器上安装第二个 flutter 应用程序时出错

    我创建了一个简单的 flutter 应用程序并在 android 模拟器上运行它 效果还不错 现在我创建了另一个 当我尝试在模拟器上运行它时 我得到 Error ADB exited with exit code 1 adb failed
  • 如何在进入新活动之前终止线程和处理程序

    大家好 在我尝试清理处理程序时 这段代码可能有点混乱 因为我一直在尝试追踪崩溃发生的位置 我有一个对话框活动 显示密码输入 进度条由线程和处理程序动画显示 似乎当我试图查看进度条是否完成并尝试终止线程时 当我尝试进入新活动时 我这样做的方式
  • 无法获取 Facebook 传入请求

    我正在尝试在我的 Facebook android 游戏应用程序中实现发送数据并接受该数据 我正在关注https developers facebook com docs android send requests notification
  • 从 TextView 中显示的数字中删除小数点[重复]

    这个问题在这里已经有答案了 对于我的简单计算器 我将结果显示在TextView 但它总是显示小数 我怎样才能删除它们 这是我的代码 public class MainActivity extends Activity implements
  • Android Studio - 值必须 ≥ 0

    我在 Android Studio 中收到与光标有关的错误 我的代码中有以下行 String data cursor getString cursor getColumnIndex columnIndex columnIndex 被传递到该
  • java.lang.IllegalArgumentException:找不到片段的 id 0x1020002 (android:id/content) 的视图

    我正在尝试从一个片段移动到另一个片段 它在片段事务期间显示以下错误 java lang IllegalArgumentException No view found for id 0x1020002 android id content f
  • Vimeo 视频在 Android 6 设备上停止播放

    我正在尝试在我的应用程序中播放 Vimeo 的视频 问题是在 Android 6 设备上 视频会在一定时间后停止播放 在 API 较低的设备上一切正常 时间取决于质量 对于下面提供的网址的视频 播放一定分钟 1 到 3 视频质量有多低 播放
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • 按字母顺序过滤 Firestore 数据以对 Google Cloud 中的文档读取进行分类/减少

    基于这样的事实Cloud Firestore 不支持全文搜索 https firebase google com docs firestore solutions search到目前为止 我决定问这个question https stack

随机推荐

  • 在 MATLAB 中绕其中心旋转图像矩阵

    假设我有一个 2x2 矩阵 其中填充了代表平面的值 现在我想以 3D 方式在 z 方向 上围绕自身旋转平面 为了更好地理解 请参见下图 我想知道这是否可以通过简单的仿射矩阵实现 因此我创建了以下简单的脚本 Create a random v
  • Xamarin PCLCrypto SHA256 给出不同的哈希值

    我有一个 Xamarin Forms XAML 便携式项目 我需要从字符串中获取 SHA256 我使用 PCLCrypto 来查找哈希 因为 PCL 中不存在 System Security Cryptography 我从 API 获取 s
  • 如何使用`React.createElement`子参数(没有jsx)

    React createElement采用展开的 children 参数 var d React DOM React createElement LabeledElement label Foo d input value foo 但我找不
  • 如何为相机设置 android:screenOrientation="portrait"

    我正在使用 Samsung Galaxy Note 运行phonegap 应用程序 当我拍照时 我可以看到屏幕在进入相机之前旋转 我怎样才能禁用这个功能 我尝试在主线程和相机活动上强制纵向 但那些似乎不起作用
  • 无法声明只有一个参数的匿名对象

    有这样的代码 class SomeClass public SomeClass SomeClass SomeClass b SomeClass SomeClass b SomeClass c int main SomeClass a Som
  • Python MySql 插入不起作用

    我正在使用 python MySQL API 从 python 程序连接到 Mysql 数据库 我几天来面临一个问题 我无法将记录插入数据库 不知道原因是什么 这是我连接并将记录插入数据库的方式 db MySQLdb connect loc
  • sklearn 中估计器管道的参数 clf 无效

    有人可以检查以下代码的问题吗 我在构建模型的过程中是否有任何错误 我已经在参数中添加了两个 clf clf RandomForestClassifier pca PCA pca clf make pipeline pca clf kfold
  • XSLT定义一个变量并检查它是否存在

    我正在尝试转换 XML 文档 首先 我定义一个全局变量
  • 使用 dask 合并大型数据集

    我有两个数据集 一个约为 45GB 包含 1 年的日常交易 第二个数据集为 3 6GB 包含客户 ID 和详细信息 我想将两者合并到一个公共列上以创建一个数据集 这超出了服务器的内存 因为每个客户可能有多个交易 我正在开发一个具有 16 个
  • 可变结构体字段

    我知道可变字段在 0 6 中被删除了 我使用此代码收到以下错误 C Users mflamer Dropbox Rust Tests gmap rs 23 8 23 18 错误 分配给不可变字段 C Users mflamer Dropbo
  • 寻找 .NET 的命令行参数解析器 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 什么时候应该使用 Localize 控件而不是 Literal?

    我最近意识到System Web UI WebControls Localize http msdn microsoft com en us library system web ui webcontrols localize aspxAS
  • 在 .net、winforms 中显示用户控件后,我可以捕获的最后一个可能的事件是什么?

    正如标题所示 我正在寻找一个在用户控件显示后捕获的事件 目前 我必须设置一个 do once 变量并捕获 Invalidated 事件 关于什么可见变化 http msdn microsoft com en us library syste
  • 无法删除 Android Studio 中的目录

    今天我将 Android Studio 更新到 2 0 当我运行我的项目时出现此错误 Error Execution failed for task app clean gt Unable to delete directory media
  • 删除 MongoDB 数据库中的所有内容

    我正在 MongoDB 上进行开发 出于完全非邪恶的目的 我有时想清除数据库中的所有内容 即删除每个集合以及周围可能存在的任何其他内容 然后从头开始 是否有一行代码可以让我做到这一点 提供 MongoDB 控制台方法和 MongoDB Ru
  • 使用 jQuery 从输入值中删除给定的字符串

    我有一个包含三个整数值的隐藏字段 例如
  • 在 Microsoft Edge 中打开跨源窗口时忽略 window.open() 参数

    在 Microsoft Edge 中 以下代码片段将忽略传递给的选项window open when url与当前域的来源不同 但它在 Chrome 和 Firefox 中运行良好 并且当域是同源时 const popupWindow wi
  • libavformat/ffmpeg 与 x264 和 RTP 同步时出现问题

    我一直在开发一些实时直播的流媒体软件 来自各种摄像机和网络流使用 H 264 为了实现这一点 我直接使用 x264 编码器 使用 零延迟 预设 并提供 NAL 因为它们可用于 libavformat 打包到 RTP 最终是 RTSP 中 理
  • Epson打印机连接失败状态ERR_CONN

    我有一台 Epson 打印机 我使用 SDK 提供的 epos2 printer 示例项目 代码与我的应用程序集成 我复制了相同的代码 但它似乎永远不起作用 但是 当我将示例项目连接到打印机时 效果相同 private boolean ru
  • 安卓谷歌登录不可用?

    所以我的项目遇到的一个问题是通过谷歌登录不能一致工作 即 它适用于我的朋友 而不是我的计算机上的我 尽管它昨天在擦除我的手机之前对我有用 手机已损坏 我们的登录代码是google登录的标准 问题是我认为结果一直返回false 代码 prot