2013-05-14 72 views
2

我試圖解僱,其中應用程序要求用戶 給予同意通過 GoogleAuthUtil.getToken訪問用戶數據的應用程序()的窗口。UserRecoverableAuthException:意圖沒有啓動起來

但是我看不到從UserRecoverableAuthException引發的活動。

我已經搜索,但沒有找到任何有用的帖子來解決這個問題。

任何人有任何想法? (之後打印出「Shoot2!」,但在LogCat中沒有任何反應 )。

@Override 
    public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    System.out.println("HERE!!!"); 
    System.out.println(CalendarScopes.CALENDAR); 

    new AsyncTask<Void, Void, Void>() { 

     @Override 
     protected Void doInBackground(Void... params) { 

     try { 
      System.out.println("Hello2!"); 
      String token = GoogleAuthUtil.getToken(EventsActivity.this, "[email protected]", "oauth2:" + CalendarScopes.CALENDAR); 
      System.out.println("token"); 
      System.out.println("Hello3!"); 
     } catch (GooglePlayServicesAvailabilityException playEx) { 
      System.out.println("Shoot1!"); 
      playEx.printStackTrace(); 
     } catch (UserRecoverableAuthException recoverableException) { 
      System.out.println("Shoot2!"); 
      Intent recoveryIntent = recoverableException.getIntent(); 
      recoveryIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).addFlags(Intent.FLAG_FROM_BACKGROUND); 
      // Use the intent in a custom dialog or just startActivityForResult. 
      startActivityForResult(recoveryIntent, 99); 
     } catch (GoogleAuthException authEx) { 
      System.out.println("Shoot3!"); 
      // This is likely unrecoverable. 
      authEx.printStackTrace(); 
     } catch (IOException ioEx) { 
      System.out.println("Shoot4!"); 
      ioEx.printStackTrace(); 
     } 

     return null; 

     } 
}.execute(); 
+1

我也使用了像你這樣的代碼,它用於很好地工作。然而它幾天前不再運行。 startActivityForResult(recoverableException.getIntent(),123)沒有激發授權對話框。而且我也沒有弄明白。如果你發現了什麼,注意我。祝你好運,並保持聯繫 – Kiradev 2013-05-23 01:04:20

回答

0

我在我的情況下發現的授權意圖沒有被解僱了,因爲我加了singleInstance固定這個問題,一對夫婦拆除在AndroidManifest.xml

活動

android:launchMode = "singleInstance"

活動之間其他奇怪的過渡效應。