2012-05-30 23 views
5

Aradığımda, Android SDK'nın şu anda HDMI bağlantı noktası etkinliklerini denetlemek ve HDMI çıkışını işlemek için hiçbir destek sağlamadığını buldum. Motorola gibi bazı cihaz üreticileri (başkalarının da bunu yapıp yapmadığını bilmeseler de) API'ları biraz daha iyi bir kontrol için sağlıyor. Aşağıda, iki ekranın (ki benim ihtiyacım olana oldukça yakın olan) bir tanesi ekrandan çıkarılmış olan linkler.Çift ekran için HDMI çıkışı programlama

motorola hdmi status api

motorola hdmi dual screen api

Yansıtma benim app HDMI üzerinde binded hizmeti tükendi istiyorum, HDMI bağlantı varsayılan davranıştır ama. Bu, telefonun diğer görevlerini aynı anda gerçekleştirmesine ve HDMI ekranındaki servisimin çalışmasını rahatsız etmesine izin verecektir.

Birisi bunun hakkında nasıl gidebilirim önerebilir misiniz? Ya da başka bir üretici Motorola gibi benzer bir esneklik sağlıyorsa?

cevap

1

Böyle bir Hizmet sınıfı oluşturun. Hizmet'i, belki de Uygulama sınıfınızda başlatın.

public class MultiDisplayApplication extends Application { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     startService(new Intent(this, MultiDisplayService.class)); 
    } 
} 

Muhtemelen hiçbir özel izin gerekmiyor ama kesmek gibi görünüyor DisplayManager.DisplayListener

mDisplayManager = (DisplayManager) this.getSystemService(Context.DISPLAY_SERVICE); 
mDisplayManager.registerDisplayListener(this, null); 

WindowManager.LayoutParams.TYPE_TOAST kullanma dayalı kaldırmak/mantığını daha ayrıntılı görüntülü eklenti gerekecektir. WindowManager.LayoutParams.TYPE_SYSTEM_ALERT daha makul olabilir, ancak AndroidManifest içinde

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 

requieres olabilir.

+0

Güzel Örnek, Teşekkürler! – Kumar