響應用戶「查看」電子郵件附件或將文件從文件選擇器發送到活動,通過接收的意圖啓動活動(DBRestoreActivity) 。如何從另一個應用程序啓動另一個活動時清除任務堆棧
當這個活動開始時,我想要任務堆棧(如果它已經存在)被清除。我的應用沒有開始這項活動。它是通過從另一個應用程序收到Action.View Intent啓動的。
請注意,我已經設置了launchMode-singleTask。如果沒有此設置,DBRestoreActivity將在其自己的任務中打開。我想如果我能把它和當前正在運行的活動(如果有的話)放到同一個任務中,我就可以關閉當前活動或清除當前任務的堆棧。
我在AndroidManifest中設置了DBRestoreActivity clearTaskOnLaunch =「true」,希望它會關閉除root活動之外的所有內容。但它沒有這樣做。
AndroidManifest:
<application
android:name=".MyApp"
android:allowBackup="true"
android:label="@string/appName"
android:theme="@style/AppTheme" >
<activity
android:name=".activity.MainActivity"
android:label="@string/appName" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.BallActivity"
android:label="@string/title_activity_ball"
android:parentActivityName=".activity.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activity.MainActivity" />
</activity>
<activity
android:name=".activity.DBRestoreActivity"
android:label="@string/title_activityDB_restore"
android:parentActivityName=".activity.MainActivity"
android:launchMode="singleTask">
<intent-filter android:label="@string/appName" >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="application/zip" />
</intent-filter>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mydomain.myapp.activity.MainActivity" />
</activity>