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 次 |
| 最近记录: |