簡體   English   中英

在Android中登錄Google+,然后維護離線會話

[英]Google+ login in android and then maintain offline session

范圍

我想在我的應用中使用google登錄。 為此,我提到了https://developers.google.com/+/mobile/android/sign-in並能夠創建基本登錄名。

問題

現在,這個問題很有趣。 登錄過程就像一個超級按鈕一樣工作,但僅在連接互聯網時才起作用。 讓我們進入一個特定的用例:

  1. 我啟動了該應用程序,並使用我的xxxx@gmail.com登錄。
  2. 我關閉了應用程序,然后再次啟動。 它會自動登錄到xxxx@gmail.com。 從技術上講:onConnected()被調用。 (必須是這樣,沒問題)
  3. 我關閉了應用程序,並關閉了互聯網連接。
  4. 現在再次啟動該應用程序,該帳戶已注銷,正如我在日志中看到的那樣:“清除* packagename的選定帳戶”-(與此相關的內容)
  5. 我再次打開互聯網連接,然后啟動了該應用程序,什么也沒發生。 它(帳戶)沒有登錄(因為它是自動注銷的)。 技術上:這次onConnectionFailed()被調用

因此,即使互聯網已關閉,我也要保留此登錄名,該怎么辦? 其他幾個應用程序也可以做到這一點。

自挖

  1. 我瀏覽了其他具有google Login的流行應用程序的日志,即使互聯網未連接,該登錄仍然存在,並將這些日志與我的應用程序的日志進行了比較。

登錄其他應用程序:

  02-16 00:51:13.493: W/GLSUser(26959): [GLSUser] [GLSUser]  Permission for *packagename* to access oauth2:https://www.googleapis.com/auth/userinfo.email will be managed locally.

登錄我的應用程序:

   02-16 00:50:16.203: W/GLSUser(26959): [GLSUser] [GLSUser]  Permission for *packagename* to access oauth2:https://www.googleapis.com/auth/plus.me will be managed remotely.
  1. 我發現只有在我使用scope =時才會發生這種奇怪的事情

     Plus.SCOPE_PLUS_PROFILE 

    但是,當我使用scope ='email'或'profile'或Plus.SCOPE_PLUS_LOGIN時。 在離線模式下可以正常工作。

有誰能夠幫助我 ??

您很可能沒有存儲憑據(身份驗證令牌),而是使用它在簡歷上重新進行身份驗證。

從Java的Google API客戶端檢查示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM