检查设备是否 运行 Android-Things

Check if a device is running Android-Things

是否可以执行运行时检查以查看设备是否 运行 Android-Things?

您使用 AndroidThings 制作的任何 apk 都将上传到 IoT 控制台 而不是 到 Play 商店。

因此,如果您想要使用 Gradle Flavors and a flag 的单个代码库,我会推荐 。这意味着您将构建两个单独的 APK,而不是在运行时执行 "what platform am I on" 检查。

这将确保您的 APK 在两个内存受限的独立平台上都具有最小的大小。 (例如,在 Android Things 上使用的 Google Play Services 的风格是一般 Android 应用程序可用的精简版本)。 Android Things supports a subset of the Google APIs for Android. The linked table breaks down API support in Android Things.

您可以在 PackageManager 中查询 FEATURE_EMBEDDED,所有 Android Things 设备都已实现:

public boolean isThingsDevice(Context context) {
    final PackageManager pm = context.getPackageManager();
    return pm.hasSystemFeature(PackageManager.FEATURE_EMBEDDED);
}

此常量最近添加到 Android O 预览版 SDK 中。在发布基于 O 的 Android Things 预览版之前,您可能需要使用常量的字面名称:android.hardware.type.embedded