Affectiva affdex-sdk 仅适用于 Android SDK 22

Affectiva affdex-sdk works with Android SDK 22 only

我正在尝试 Affectiva AI 文档中引用的 github 示例。

参见:Affectiva Android example on github

示例有效,附带以下项目 gradle 配置:

build.gradle

apply plugin: 'com.android.application'

android {


    compileSdkVersion 22
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 22
        versionCode 1
        setProperty("archivesBaseName", "$project.name-$versionName")
        applicationId "com.affectiva.cameradetectordemo"
        versionName "3.2.0-01"
    }
    buildTypes {
        release {
            minifyEnabled true
        }
    }
    buildToolsVersion '27.0.3'
}

dependencies {
    implementation('com.affectiva.android:affdexsdk:3.+')
}

问题是,示例仅适用于 compileSdkVersiontargetSdkVersion 都设置为 22. 当我输入更高的值(23 到 27)时,应用程序会编译,但当我想从应用程序内部启动相机时,应用程序崩溃并显示错误消息

java.lang.IllegalStateException: Camera is unavailable.

问题:

  1. 为什么 Affectiva 示例仅适用于 SDK 版本 22?
  2. 如何将 affdex-sdk 与当前版本的 Android SDK 一起使用?

感谢您的帮助!

Android 在 API 级别 23 中引入了运行时权限功能。面向 23 岁以上的应用程序必须实现运行时权限逻辑并请求相机权限才能访问相机。

您引用的示例的目的是演示 Affectiva SDK 的使用,因此为了避免添加一堆与该目的无关的运行时权限逻辑,它的目标是 API 22级。