[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 为标识的任务栈
相关推荐
枯骨成佛8 小时前
MTK Android 14 通过属性控制系统设置显示双栏或者单栏
android
雨白9 小时前
Android 自定义 View:范围裁切和几何变换
android
jiushiapwojdap10 小时前
Flutter上手记:为什么我的按钮能同时在iOS和Android上跳舞?[特殊字符][特殊字符]
android·其他·flutter·ios
limuyang212 小时前
Android RenderScript-toolkit库,替换老式的脚本方式(常用于高斯模糊)
android
柿蒂12 小时前
产品需求驱动下的技术演进:动态缩放View的不同方案
android·kotlin·android jetpack
Andy_GF15 小时前
鸿蒙Next在蒲公英平台分发测试包
android·ios·harmonyos
恋猫de小郭16 小时前
iOS 26 正式版即将发布,Flutter 完成全新 devicectl + lldb 的 Debug JIT 运行支持
android·前端·flutter
幻雨様16 小时前
UE5多人MOBA+GAS 54、用户登录和会话创建请求
android·ue5
Just_Paranoid17 小时前
【SystemUI】锁屏来通知默认亮屏Wake模式
android·framework·systemui·keyguard·aod