首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android任务亲和力的使用

android任务亲和力的使用
EN

Stack Overflow用户
提问于 2014-01-27 06:49:44
回答 1查看 16.1K关注 0票数 5

我正在阅读有关task亲和的内容&创建了一个包含以下活动的演示应用程序:

  • 一个
  • B ===>任务亲和力,com.ando
  • C
  • D ===>任务亲和力,com.ando
  • E

据说,具有相同任务亲和力的活动秘密地打开另一个实例的单个实例。

因此,我将每个活动的onResume登录以查看任务id。如果它创建单个实例,那么当我打开D时,它为什么不执行onResume of B,反之亦然。

我读过开发人员的网站和其他帖子,但仍然没有得到如何使用任务亲和力和它的用途,为什么我们应该使用singleInstance呢?

清单:

代码语言:javascript
复制
 <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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-27 14:23:09

当您调用startActivity()从一个Activity转换到另一个Activity时,如果没有在Intent标志中设置Intent.FLAG_ACTIVITY_NEW_TASK,那么无论taskAffinity的值如何,新的Activity都将在相同的任务中启动。

但是,如果在Activity标志中设置Intent.FLAG_ACTIVITY_NEW_TASK,则如果新的 Activity 与任务的E 222 taskAffinity E 126具有相同的E 121E 121,则新Activity仍将在相同的任务中启动(这是由根E 232 Activity E 136中的<代码>E 232E 131的<代码>所决定的)。E 237但是,如果新代码>D38有不同的<,新的Activity将在一个新的任务中启动。

根据您的描述,如果在启动新的Intent.FLAG_ACTIVITY_NEW_TASK时不设置Activity,那么所有的活动都将在同一个任务中结束。

票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21374610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档