Android Twitter授权和后退按钮行为

时间:2013-11-01 10:55:41

标签: android twitter oauth twitter4j android-browser

我正在将Twitter集成到我的Android应用程序中。我正在使用twitter4j lib。我的应用程序只有android:launchMode="singleTask"的单个活动。在我的活动中有一个“共享”按钮,应该代表用户执行Twitter帖子。

目前,我的申请表现如下:

  1. 用户按下“分享”按钮,Twitter授权流程开始。
  2. 获得oauth请求令牌后,我启动了浏览器:

    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL())));
    
  3. 用户在浏览器中按“授权”按钮,并且(感谢回调网址)控件返回到我的onNewIntent(Intent)活动。

  4. 一切都很酷。但是如果我在第3步之后按下我的活动中的“后退”按钮,我希望回到Android主屏幕(启动屏幕)。而不是这个,我陷入了浏览器(我已经在第2步推出了。)。

    我的问题是:这是正常的吗?如果没有,我该如何解决?

    启动adb.exe后,我发现活动堆栈如下:

    在第2步之后(当浏览器出现在屏幕上时):

    Running activities (most recent first):

    TaskRecord{426729a8 #94 A android.task.browser}
      Run #2: ActivityRecord{414204d8 com.android.browser/.BrowserActivity}
    TaskRecord{4252bdb0 #107 A com.mycompany.myapp}
      Run #1: ActivityRecord{41428ed8 com.mycompany.myapp/.MyActivity}
    TaskRecord{41716f90 #2 A com.sec.android.app.launcher}
      Run #0: ActivityRecord{41584088 com.sec.android.app.launcher/com.android.launcher2.Launcher}
    

    在第3步之后:(当我的活动在屏幕上时,在我按下后退按钮之前):

    Running activities (most recent first):

    TaskRecord{4252bdb0 #107 A com.mycompany.myapp}
      Run #2: ActivityRecord{41428ed8 com.mycompany.myapp/.MyActivity}
    TaskRecord{426729a8 #94 A android.task.browser}
      Run #1: ActivityRecord{414204d8 com.android.browser/.BrowserActivity}
    TaskRecord{41716f90 #2 A com.sec.android.app.launcher}
      Run #0: ActivityRecord{41584088 com.sec.android.app.launcher/com.android.launcher2.Launcher}
    

1 个答案:

答案 0 :(得分:0)

我认为您需要完成浏览器活动,因此在应用程序回调之前,堆栈中没有任何内容。