[Android]任务列表中有两个相机图标

现象:

修改AndroidManifest.xml

XML 复制代码
<activity
    android:name="com.android.camera.PermissionsActivity"
    android:label="@string/app_name"
    android:launchMode="singleTop"
    android:configChanges="orientation|screenSize|keyboardHidden"
    android:parentActivityName="com.android.camera.CameraActivity"
    android:taskAffinity="com.android.camera.CameraActivity"
    android:visibleToInstantApps="true"
    android:exported="true">

    <intent-filter>
        <action android:name="android.media.action.VIDEO_CAMERA" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.VOICE" />
    </intent-filter>

    <intent-filter>
        <action android:name="android.media.action.VIDEO_CAPTURE" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.VOICE" />
    </intent-filter>

    <intent-filter>
        <action android:name="android.media.action.IMAGE_CAPTURE" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.VOICE" />
    </intent-filter>

    <intent-filter>
        <action android:name="android.media.action.STILL_IMAGE_CAMERA" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.VOICE" />
    </intent-filter>

    <intent-filter>
        <action android:name="android.media.action.TOF_CAMERA" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.android.camera.CameraActivity" />
</activity>

在 Android 中,android:taskAffinity 是一个重要的 Activity 属性,它定义了 Activity 所属的任务栈(Task)

表示这个 PermissionsActivity 会与 CameraActivity 共享同一个任务栈。以下是关键解析和注意事项:

. 作用解析

  • 任务栈关联 :强制 PermissionsActivity 和 CameraActivity 在同一个任务栈中
  • 典型场景:用于权限请求等附属界面,确保返回时能回到主 Activity
  • 行为表现 :
    • 如果 CameraActivity 已存在任务栈中,PermissionsActivity 会加入该栈
    • 如果不存在,会新建以 com.android.camera.CameraActivity 为标识的任务栈
相关推荐
ao-weilai34 分钟前
MySQL数据库:复合查询
android·数据库·mysql
三少爷的鞋13 小时前
AI 时代,我们都将成为通才型开发者:只懂 Android,已经不够了
android
Dovis(誓平步青云)17 小时前
家里设备越来越多,如何用一张空间地图控制灯光和温度![
android·java·前端·javascript·人工智能·电脑
晚风叙码19 小时前
MySQL 数据类型详解:从数值到字符串,一篇讲透
android·mysql·adb
传奇开心果编程19 小时前
【Compose Multiplatform 跨端开发学与练】第3课 布局与组件
android·windows·学习·ui·ios·kotlin·composer
传奇开心果编程1 天前
【Compose Multiplatform 跨端开发学与练】第8课 资源管理与主题
android·windows·学习·ios·kotlin·web·composer
传奇开心果编程1 天前
【Compose Multiplatform 跨端开发学与练】第9课 测试与调试
android·学习·macos·ios·kotlin·web·composer
传奇开心果编程1 天前
【Compose Multiplatform 跨端开发学与练】第4课 导航与路由
android·windows·学习·ui·ios·kotlin·composer
传奇开心果编程1 天前
【Compose Multiplatform 跨端开发学与练】第6课 状态管理与架构
android·学习·ui·ios·架构·kotlin·composer
事圆则缓1 天前
Android AOSP 定制常见概念:源码目录、系统镜像与刷机流程
android