【问题标题】:Android Twiiter authorization and back button behaviorAndroid Twiiter 授权和后退按钮行为
【发布时间】:2013-11-12 13:44:11
【问题描述】:

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

目前,我的应用程序的行为如下:

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

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

一切都很酷。但是,如果我在第 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}

【问题讨论】:

    标签: android twitter oauth twitter4j android-browser


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多