[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 共享同一个任务栈。以下是关键解析和注意事项:

. 作用解析

  • 任务栈关联 :强制 PermissionsActivityCameraActivity 在同一个任务栈中
  • 典型场景:用于权限请求等附属界面,确保返回时能回到主 Activity
  • 行为表现
    • 如果 CameraActivity 已存在任务栈中,PermissionsActivity 会加入该栈
    • 如果不存在,会新建以 com.android.camera.CameraActivity 为标识的任务栈
相关推荐
冬奇Lab9 小时前
MediaPlayer 播放器架构:NuPlayer 的 Source/Decoder/Renderer 三驾马车
android·音视频开发·源码阅读
炸炸鱼.11 小时前
Python 操作 MySQL 数据库
android·数据库·python·adb
用户416596736935512 小时前
nextlib 项目架构与深度技术指南 (Architecture & Technical Master Guide)
android
aq553560013 小时前
Laravel10.x重磅升级,新特性一览
android·java·开发语言
Trouvaille ~13 小时前
【MySQL篇】数据类型:存储数据的基础
android·数据库·mysql·adb·字符集·数据类型·基础入门
2401_8858850414 小时前
开发视频短信接口好开发吗?图文视频短信接口对接教程
android·音视频
千码君201616 小时前
kotlin:Jetpack Compose 给APP添加声音(点击音效/背景音乐)
android·开发语言·kotlin·音效·jetpack compose
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.16 小时前
MySQL半同步复制与GTID实战详解
android·mysql·adb
用户416596736935517 小时前
深度解码:记一次视频时间戳(PTS)异常导致的播放故障排查
android
大白菜和MySQL19 小时前
linux系统环境常用命令
android·linux·adb