我的应用程序中有一些活动,我将它们定义为:
<activity
android:name=".DetailsActivity"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:excludeFromRecents="true"/>
<activity
android:name=".ZoomActivity"
android:theme="@style/Theme.Something.FullScreen"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:excludeFromRecents="true"/>
<activity
android:name=".RadioActivity"
android:label="@string/radio"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:excludeFromRecents="true"/>
<activity
android:name=".SettingsActivity"
android:label="@string/settings"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:excludeFromRecents="true"/>
DetailsActivity和ZoomActivity是在点击RecyclerView中的项目后启动的活动,它们只显示项目的详细信息。
RadioActivity是一项服务绑定的活动。
SettingsActivity只是一个普通的Android偏好活动。
我不确定这是否是定义多个活动的最佳方式(我的意思是launchMode,clearTaskOnLaunch和excludeFromRecents)。
我应该保留原样,还是改变我的做法?
提前致谢。
答案 0 :(得分:1)
你的方法很好。
如果您害怕必须申报许多活动,那么您可能会不必要地创建可以重复使用的新活动子类。请记住,您可以通过Intent的捆绑包轻松地将数据传递到活动中。
很难说您为每项活动提供的标志是否合理,但如果您希望应用程序在用户退出一项活动时关闭,并且其本身没有历史记录后面的堆栈,然后这将完成该任务。