2

3 つのアクティビティ (MainActivity、TwitterActivity、WebBrowserActivity) があります。WebBrowserActivity は、Twitter から Web 情報を表示するために使用します。

マニフェスト: 1.

      <activity
        android:name=".MainActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />    
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>

2.

   <activity
    android:name=".TwitterActivity"
 android:label="@string/app_name"
 android:launchMode="singleInstance" >

<!-- Used for OAuth callback -->
<intent-filter>
    <action android:name="android.intent.action.VIEW" />

    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data
        android:host="callback"
        android:scheme="x-bker-oauth-twitter" />
</intent-filter>
</activity>

3.

  <activity android:name=".TwitterWebBrowser" />

ツイッターを始める:

  Intent myIntent = new Intent(mContext, TwitterActivity.class);    
  mContext.startActivity(myIntent);

twitt が投稿されたら、(finish(); メソッドを使用して) TwitterActivity を閉じ、MainActivity が表示されます。ホームボタンを押してAndroidに行くよりも、ホームボタンを押してアプリアイコンを押すよりも、TwitterActivityに行きますが、MainActivityに行く必要があります。どうやってこれを行うのですか?

Android バージョン 2.3.7 以下でのみ使用できます。

4

1 に答える 1

1

TwitterActivity のマニフェスト エントリで、 に変更android:launchMode="singleInstance"android:launchMode="singleTop"ます。

launchModeTwitterアプリまたはWebページにジャンプしてTwitterActivityからユーザーを承認し、完了したらTwitterActivityの同じインスタンスに戻ることができるようにしたいので、設定していると思います。その場合、TwitterActivity はタスク スタックの一番上にあるためsingleTop、システムにそれを再利用するように指示します。

問題singleInstanceは、アクティビティがタスク内の唯一のアクティビティになることです。これは、最近のメニューが TwitterActivity を起動している理由をおそらく説明しています。(アクティビティ要素のドキュメントで詳細を確認してください)。

本当に を使用する必要がある場合はsingleInstance、それを独自のタスクに割り当て、最近使用したタスクから除外することを検討する必要があります (たとえば、 には独自の名前を使用しますtaskAffinity)。

<activity
  android:name=".TwitterActivity"
  android:label="@string/app_name"
  android:launchMode="singleInstance"
  android:taskAffinity="com.example.twitter"
  android:excludeFromRecents="true">
于 2013-01-25T08:20:10.110 に答える