【问题标题】:ADB unable to start IMAGE_CAPTURE intent activity on Android 11ADB 无法在 Android 11 上启动 IMAGE_CAPTURE 意图活动
【发布时间】:2021-07-08 19:37:25
【问题描述】:

以下 ADB 命令不适用于 Android 11 设备

adb -d shell "am start -a android.media.action.IMAGE_CAPTURE" -W

结果

Starting: Intent { act=android.media.action.IMAGE_CAPTURE }
Error: Activity not started, unknown error code 102

好像和Android 11的变化有关,见Android 11 (R) return empty list when querying intent for ACTION_IMAGE_CAPTURE,这里提到的解决办法是把这个加到manifest里

<queries>
    <intent>
        <action android:name="android.media.action.IMAGE_CAPTURE" />
    </intent>
</queries>

在 ADB 中是否有任何等价物?

【问题讨论】:

    标签: android adb android-11


    【解决方案1】:

    这似乎是 Android 中的一个错误。由于您链接到的问题,相机活动启动不会失败,而是因为 AppOpsManager 服务的拒绝:

    05-04 14:16:51.789   620  2669 W ActivityTaskManager: Appop Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x10000000 cmp=com.android.camera2/com.android.camera.CaptureActivity } from null (pid=4079, uid=2000) requires android:camera
    

    这可以通过验证

    adb shell appops get com.android.shell
    

    其中com.android.shell 是由命令行实用程序提供的包名称,例如am,即Android Shell 包。这会产生

    Uid mode: COARSE_LOCATION: foreground
    LEGACY_STORAGE: ignore
    CAMERA: allow; rejectTime=+4m37s345ms ago
    

    这显示了 Shell 包对 CAMERA 操作的拒绝有多长时间。

    但是这个拒绝政策是不正确的,因为com.android.shell已经拥有CAMERA权限,可以通过

    adb shell dumpsys package com.android.shell|grep 'android.permission.CAMERA'
      android.permission.CAMERA
        android.permission.CAMERA: granted=true, flags=[ SYSTEM_FIXED|GRANTED_BY_DEFAULT]
    

    另一种选择(可能并非对所有人都有效)是从根 shell(在adb root/su 之后)启动此意图,它可以工作。

    05-04 14:17:23.610   502  2518 I CameraService: CameraService::connect call (PID -1 "com.android.camera2", camera ID 0) for HAL version default and Camera API version 2
    

    【讨论】:

    • @Prera​​kMann 您也可以在错误中添加您的手机详细信息以增加错误的重要性,因为目前,它仅列出了一个模拟器作为观察到问题的平台。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 1970-01-01
    相关资源
    最近更新 更多