如何区分 Android 应用程序是在 Smartphone/Tablet 还是 Android-TV-Stick 上运行?

How to distinguish if Android app runs on Smartphone/Tablet or Android-TV-Stick?

我申请了following to distinguish between normal Android OS and Android TV:

if (pm.hasSystemFeature("com.google.android.tv")) {
    // here it is a Android TV
} else {
    // here it is a smartphone or tablet or Car
}

它不适用于基于 Android 的电视棒。我认为它只适用于 GoogleTv?

如何检查任何基于 Android 的电视?

我们匹配 android.software.leanbackcom.google.android.tv.installed。前者是检查它的“官方”方式,当然制造商总是做自己的事情。

后者是通过检查相当多的不同设备而选择的,之后我们没有收到任何关于不支持电视硬件的投诉。


为了将清单中 <uses-feature ...> 发布到 PlayStore,我们采用了发布两个变体,每个变体都需要一个功能...