首页 > 解决方案 > 使用在 AndroidManifest 文件中仅适用于特定设备

问题描述

我有 Android 应用程序,它可以在带有扫描仪的不同设备上运行。对于一个设备型号,我需要使用他们的 SDK,这需要将下一个代码添加到 AndroidManifest 文件中。

<uses-library
        android:name="com.datalogic.device"
        android:required="true" />

问题在于,如果我尝试在另一个设备型号上运行此应用程序,程序将无法编译。得到下一个 错误。当我从清单文件中删除上面包含的代码时,一切正常。那么这是否可以用 Java 代码或 AndroidManifest 文件编写,检查设备名称并决定是否使用 uses-library 代码?

标签: javaandroidshared-librariesandroid-manifest

解决方案


您可以通过获取字符串值来检查设备型号android.os.Build.MODEL;,您将获得型号(例如:用于 Galaxy S6 Edge Plus 的 SM-G928F)然后决定如何使用库,但您不能在运行时更改清单


推荐阅读