Akh*_*ani 4 android android-activity
我正在阅读有关taskaffinity的内容,并创建了一个包含以下活动的演示应用:
据说,具有相同taskaffinity的活动秘密打开另一个的单个实例.
所以,我把每个活动的onResume登录到任务ID.如果它创建了单个实例,那么当我打开D时它为什么不执行onBesume,反之亦然.
我阅读开发者网站和其他帖子,但仍然没有得到如何使用taskaffinity及其使用,为什么我们不应该使用singleInstance?
表现:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.danroid.taskaffinity.A"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- android:taskAffinity="com.ando" -->
<activity
android:name="com.example.danroid.taskaffinity.B"
android:label="@string/app_name"
android:taskAffinity="@string/task_affinity" >
</activity>
<activity
android:name="com.example.danroid.taskaffinity.C"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.example.danroid.taskaffinity.D"
android:label="@string/app_name"
android:taskAffinity="@string/task_affinity" >
</activity>
<activity
android:name="com.example.danroid.taskaffinity.E"
android:label="@string/app_name" >
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)
Dav*_*ser 30
当您调用startActivity()
从一个转换Activity
到另一个时,如果未Intent.FLAG_ACTIVITY_NEW_TASK
在Intent
标志中设置,则新的Activity
将在同一任务中启动,而不管其值是什么taskAffinity
.
但是,如果你设置Intent.FLAG_ACTIVITY_NEW_TASK
的Intent
标志,新Activity
会仍然可以在同一个任务开始,如果新的Activity
具有相同taskAffinity
的taskAffinity
(这是由确定的任务的taskAffinity
根Activity
在任务).但是,如果新的Activity
有不同的taskAffinity
,新的Activity
将在新任务中启动.
根据您的描述,如果您Intent.FLAG_ACTIVITY_NEW_TASK
在开始新设置时没有设置Activity
,那么您的所有活动将最终处于同一任务中.
归档时间: |
|
查看次数: |
11719 次 |
最近记录: |