2015-09-10 21 views
7

Sadece Android cihazında çalışması gereken ve HDMI veya kablosuz olarak bağlı harici ekranda olmayan, telif hakkıyla korunan videolara sahip olan bir uygulamada çalışıyorum. Dış görüntüler üzerinde görüntülenecek içeriği algılamak ve denetlemek için API API'sini (API) Presentation ve DisplayManager'u buldum, ancak bu API yalnızca API 17'de (android 4.2) ve artı. Bunu android 4.2'nin altında nasıl yapacağınız veya en azından bağlı ekranlar için tespit ve bildirim alabileceğiniz hakkında herhangi bir fikir.Android önceki API 17'de harici ekranlar nasıl algılanır

Soru # 2: Android cihaz ekran kayıt için PC'ye bağlı ise. Bunu tespit etmek için Presentation veya DisplayManager API yardımı yapılabilir mi?

+2

# 1 = 17 minimumSdkVersion sahip düşünün. # 2 http://stackoverflow.com/questions/28606689/how-to-prevent-screen-capture-in-android –

cevap

1

herhangi bir fikir. Distwo yanıtında belirtildiği gibi muhtemelen MediaRouter API Seviye 16'da Ötesi

, Android'in eski sürümlerinde harici ekranlara uygulama düzeyinde erişim için destek yoktu. Göreceli olarak az sayıda cihaz harici ekranları bile destekledi; Sadece OS düzeyinde ekran yansıtma sunanlar.

Yapabileceğiniz en iyi şey, birkaç tür cihazlarda ellerini almak ve herhangi bir ortak LogCat harici ekranlara varlığına işaret iletileri veya belki bazı Linux- olup olmadığını görmek için, bu kadar aramak istiyorsanız /proc numaralı düzeydeki öğeler. Bununla birlikte, bunların üreticiden ve cihazdan farklı olmaları çok iyi bir şans.

Android cihaz ekran kayıt için PC'ye bağlı ise. Sunum veya DisplayManager API bunu tespit etmede yardımcı olabilir mi?

sayılı

2

API 16'ya geri dönme MediaRouter sınıfını kullanabilirsiniz. Cf android geliştirici web sitesi.

Sununuz için varsayılan ekranı almak için MediaRouter.getSelectedRoute() öğesini çağırın ve ROUTE_TYPE_LIVE_VIDEO dosyasını iletin. Bu, sistemin video sunumları için seçili rotasını tanımlayan bir MediaRouter.RouteInfo nesnesi döndürür. MediaRouter.RouteInfo boş değilse, Display bağlı ekranı temsil etmek için getPresentationDisplay() öğesini çağırın.

Tam kaynak: algılamak ve bağlı ekranlar için bildirilmesini en azından android 4.2 veya altında bunun nasıl içinde http://developer.android.com/about/versions/android-4.2.html#SecondaryDisplays

İlgili konular