gpt4 book ai didi

android - 如何以编程方式检测应用程序是否在三星 "Edge"屏幕上运行?

转载 作者:太空狗 更新时间:2023-10-29 14:41:48 25 4
gpt4 key购买 nike

是否有 API 可用于确定运行应用程序的设备是否恰好是三星“Edge”设备之一?也就是说,一种具有圆形边缘的设备与具有直角边缘的设备相反。 (我相信三星是目前唯一一家生产这些产品的公司。)

此外,一些较旧的“边缘”设备只有一个圆边,而较新的则有两个。是否可以区分这些情况:无圆角边缘、一个圆角边缘、两个圆角边缘?

最佳答案

我也遇到过这个问题,在 the SDK docs 阅读之后,检查 jar ,并进行一些尝试和错误;这是我在不添加 SDK 库的情况下检查 Samsung Edge 设备(即 Samsung Galaxy S8/S9)的方法。

internal fun isEdgeDevice(): Boolean {
var hasCocktailPanel = false
try {
val sLookImplClass = Class.forName("com.samsung.android.sdk.look.SlookImpl")
if (sLookImplClass != null) {
val isFeatureEnabledMethod =
sLookImplClass.getDeclaredMethod("isFeatureEnabled", Int::class.java)
hasCocktailPanel = isFeatureEnabledMethod.invoke(null, 7) as Boolean
}
} catch (ignored: Exception) {
}
return hasCocktailPanel
}

解释:

此方法尝试查找 SlookImpl 类。

Jar

如果找到了,那么我们可以查询 COCKTAIL_PANEL 的可用性。

cocktail

注意:在调用isEdgeDevice() 方法之前,我会检查Build.MANUFACTURERBuild.BRAND 是否为“samsung”,然后我将继续检查它是否是边缘设备。

关于android - 如何以编程方式检测应用程序是否在三星 "Edge"屏幕上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46836904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com