0

Android アプリへの Twitter の統合に取り組んでいます。私はtwitter4jlibを使用しています。私のアプリケーションには、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}
4

1 に答える 1

0

ブラウザのアクティビティを終了する必要があると思うので、アプリ画面へのコールバックより前のスタックには何もありません。

于 2013-11-12T13:35:33.120 に答える