2014-11-25 21 views

cevap

2

bazı seçenekler şunlardır:

1)

2) TV'ye özgü sınıfları

3 algılamak için yansıma kullanın geniş ekran) dokunmatik ekran

eksikliğini saptamak için hasSystemFeature kullanın için sistem sorgula

fazla bilgi

https://developer.android.com/training/tv/start/hardware.html

Ve cihaz ya android.hardware.type.television veya android.software.leanback sistem özelliklerine sahip olarak kendini reklamını, bu true dönecektir Google TV

Identify GoogleTv from Android app

+2

Android Ekibi androidtv için https://developer.android.com/training/tv/start/hardware.html – leafartist

12
private boolean isDirectToTV() { 
    return(getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEVISION) 
     || getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK)); 
} 

için benzer bir cevap. Android TV ve Fire TV bunu doğru bir şekilde ele alıyor; Henüz başka bir ortamda denemedim. Android Dokümanlar Handling TV Hardware itibaren

+0

1 bu yaklaşım sağlayan bu şekilde çeki tavsiye ilgili platformdaki özellikleri kolayca takabilirsiniz, AndroidTV'de Now Playing Card için kullandım. – sschrass

20

:

public static final String TAG = "DeviceTypeRuntimeCheck"; 

    UiModeManager uiModeManager = (UiModeManager) getSystemService(UI_MODE_SERVICE); 
    if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) { 
     Log.d(TAG, "Running on a TV Device") 
    } else { 
     Log.d(TAG, "Running on a non-TV Device") 
} 
+1

Bu, Google’ın tam olarak söylediği şeydir. –

İlgili konular