Canlı Kart

XE12 API düzeyinde eklendi
herkese açık sınıf

Canlı Kart

Bu sınıf, etkin kartlar oluşturmanıza ve bunları zaman çizelgesinde yayınlamanıza olanak tanır.

Canlı kart oluşturma hakkında daha fazla bilgi için Canlı kartlar geliştirici kılavuzuna bakın.

Canlı kartın ömrü

Canlı kartlar, yayınlandıkları süre boyunca onlara uzun süreli bir bağlam bilgisi gerektirdiğinden bunları bir arka planda Service yönetmelisiniz. Ardından, hizmet başlar başlamaz veya hizmetin izlediği diğer etkinliklere yanıt olarak canlı kart yayınlayabilirsiniz. Benzer şekilde, artık alakalı olmayan veya hizmet kaldırıldığında kartları yayından kaldırmalısınız.

Canlı kart yayınlarken bu durumun kullanıcıları nasıl etkileyeceğini seçmeniz gerekir. Sessiz bir şekilde yayınlandığında, kart zaman çizelgesine görünür bir etki olmadan eklenir: Kullanıcıların kartı görmek için ekranı kaydırması gerekir. Canlı kartın yayınlandıktan hemen sonra otomatik olarak gösterilmesini de sağlayabilirsiniz. Bu özellik, genellikle uygulamanızın ana kullanıcı arayüzü bir etkinlik değil, canlı kart olduğunda kullanışlıdır.

Canlı kartta içerik görüntüleme

Canlı kart, içeriği bir düzen kaynağından veya kodunuzun doğrudan çizim yüzeyine oluşturulmasına izin vererek görüntüleyebilir. Karttaki içeriği ne sıklıkta güncellemeniz gerektiği ve öncelikli olarak widget'lar veya serbest biçimli grafikler oluşturup oluşturmadığınıza göre uygulamanız için en uygun yöntemi seçin.

Uzak görünümleri kullanarak düzeni artırma

Uygulamanız yalnızca standart widget'lar ve seyrek güncellemeler (yenilemeler arasında yaklaşık birkaç saniye veya daha uzun) gerektiriyorsa kartınızı RemoteViews sınıfının yardımıyla oluşturun. RemoteViews nesnesi, kendi uygulama kodunuzdan ayrı bir şekilde çalışan Glass zaman çizelgesinin oluşturduğunuz bir düzeni şişirmesine olanak tanır.

     LiveCard liveCard; // initialized elsewhere
     RemoteViews views = new RemoteViews(context.getPackageName(),
             R.layout.my_layout);
     liveCard.setViews(views);
 

RemoteViews kullanan bir kart yayınlandıktan sonra, set* yöntemlerini çağırarak görüntülemelerde yapılan değişikliklerin, güncellemeye zorlamak için canlı kartta açık bir şekilde tekrar setViews çağrılmadığı sürece zaman çizelgesinde görüneceğini unutmayın.

Doğrudan canlı kart yüzeyinin üzerine çizim yapma

Uygulamanız için daha sık güncelleme (saniyede birkaç kez) gerekiyorsa veya standart widget'ların desteklediğinden daha ayrıntılı grafikler oluşturmak istiyorsanız doğrudan oluşturmayı etkinleştirip kartın yüzeyine SurfaceHolder.Callback ekleyin.

     LiveCard liveCard; // initialized elsewhere
     liveCard.setDirectRenderingEnabled(true);
     liveCard.getSurfaceHolder().addCallback(callback);
 

Daha sonra, doğrudan arka plandaki bir mesaj dizisinin içindeki yüzeye veya harici etkinliklere (örneğin, sensör veya konum güncellemeleri) göre çizebilirsiniz. Kart görüntülenirken veya gizlenirken oluşturma mantığınızı başlatmak ve durdurmak için surfaceCreated ve surfaceDestroyed yöntemlerini kullanın.

Yüzey sahibinin geri çağırma yöntemlerinin, ana kullanıcı arayüzü iş parçacığında çağrılmadığını unutmayın.

Canlı kart seçimi işleniyor

Canlı kart, kullanıcı karta dokunduğunda çalışacak bir işlem (etkinlik, hizmet veya yayın başlatmak için PendingIntent) sağlamalıdır. Normalde bu işlemi kullanarak seçenekler menüsünü görüntüleyen veya kullanıcıyı uygulamanızın başka bir bölümüne yönlendiren bir etkinlik başlatırsınız. En azından, kullanıcının canlı kartı zaman çizelgesinden kaldırmasına olanak tanıyan bir seçenek sunmalısınız.

     LiveCard liveCard; // initialized elsewhere
     Intent intent = new Intent(context, MyActivity.class);
     liveCard.setAction(PendingIntent.getActivity(context, 0, intent, 0));
 

İşlem içermeyen canlı kartlar gösterilmez.

İç İçe Sınıflar
enum Canlı Kart.Yayınlama Modu Yayınlandığında kartın kullanıcıya nasıl sunulacağını belirler. 
Sabitler
Dize ADDITIONAL_FROM_LIVECARD_VOICE Intent kartı, canlı kart üzerinden ses kullanılarak etkinleştirildi.
Kamu Kurucuları
LiveCard(Bağlam bağlamı, Dize etiketi)
Herkese Açık Yöntemler
Canlı Kart
attach(Hizmet hizmeti)
Yüzey Tutucu
boolean
geçersiz
geçersiz
Canlı Kart
Canlı Kart
setDirectrenderEnabled(boole etkinleştirme)
Canlı Kart
setRenderer(GlRenderer oluşturucu)
Canlı Kart
setViews(RemoteViews görünümleri)
Canlı Kart
setVoiceActionEnabled (boole etkinleştirme)
geçersiz
Devralınan Yöntemler

Sabitler

XE21 API düzeyinde eklendi

herkese açık statik nihai Dize Extra_FROM_LIVECARD_VOICE

Intent kartı, canlı kart üzerinden ses kullanılarak etkinleştirildi.

Sabit Değer: "android.intent.additional.Extra_FROM_LIVECARD"

Kamu Kurucuları

XE16 API düzeyinde eklendi

herkese açık LiveCard (Bağlam bağlamı, Dize etiketi)

Belirtilen etikete sahip canlı kart oluşturur.

Bir kart, açıkça yayınlanana kadar görünmeyecektir.

Parametreler
context uygulamanın bağlamını
etiket kartı için boş olmayan etiket; bu hata ayıklama amaçlıdır

Herkese Açık Yöntemler

XE16 API düzeyinde eklendi

herkese açık LiveCard ek (Hizmet hizmeti)

Bu kart yayınlandığında, belirli bir hizmetin ön planda çalışacak şekilde ayarlanması için bir arka plan Service ekleyin.

Bu canlı kart yayından kaldırıldığında hizmet otomatik olarak ön plandan kaldırılır.

Parametreler
hizmet öngörecek şekilde ayarlanacak
İadeler
  • arama zinciri oluşturmak için bu nesne
XE12 API düzeyinde eklendi

herkese açık SurfaceHolder getSurfaceHolder ()

Doğrudan oluşturma etkinleştirildiğinde, üzerinde işlem yapmak için Surface özelliğine erişim izni verir.

Döndürülen SurfaceHolder öğesinin, yönetilen yüzeye erişim için bir araç olarak kullanılması gerektiğini unutmayın. Yüzeyin şeklini ve türünü değiştirme yöntemleri işlemsizdir.

Bu nesne için geri çağırmaların kullanıcı arayüzü iş parçacığında yapılmadığını da unutmayın.

XE12 API düzeyinde eklendi

herkese açık boole yayınlandı ()

Kart şu anda yayınlanmışsa true değerini döndürür.

XE16 API düzeyinde eklendi

herkese açık geçersiz gezinme ()

Kullanıcıyı zaman çizelgesindeki bu karta gönderir.

Dekoratif yastıklar
Yasa Dışı Durumİstisnası Kart yayınlanmamışsa
XE12 API düzeyinde eklendi

herkese açık geçersiz yayınla (LiveCard.PublishMode modu)

Bu kartı zaman çizelgesinde yayınlar.

Kart yalnızca bir işlem varsa ve doğrudan oluşturma etkinleştirilmişse ya da uzak görünümler ayarlanmışsa gösterilir.

Parametreler
mod kartın kullanıcıya nasıl sunulduğunu belirler
XE12 API düzeyinde eklendi

herkese açık LiveCard setAction (WaitIntent niyeti)

Kart seçildiğinde gerçekleştirilen işlemi değiştirir.

Parametreler
amaç kart seçildiğinde tetiklenecek
İadeler
  • arama zinciri oluşturmak için bu nesne
XE12 API düzeyinde eklendi

herkese açık LiveCard setDirectrenderEnabled (boole etkinleştirme)

Doğrudan oluşturmayı etkinleştirir.

Bu modda, kart içeriğinin doğrudan Surface olarak oluşturulması gerekir.

Bu yöntemin yalnızca kartın yayınlanmadığı zaman çağrılabileceğini ve aksi takdirde istisnaya yol açabileceğini unutmayın.

Parametreler
enable doğrudan oluşturmanın etkinleştirilip etkinleştirilmeyeceği
İadeler
  • arama zinciri oluşturmak için bu nesne
İlgili Konular
XE16 API düzeyinde eklendi

herkese açık LiveCard setRenderer (GlRenderer oluşturucu)

OpenGL tabanlı bir oluşturucu ekler.

Oluşturucu, doğrudan oluşturma için istenen (otomatik olarak) bir yüzeye çizim yapmak üzere kullanılır.

İadeler
  • arama zinciri oluşturmak için bu nesne
XE12 API düzeyinde eklendi

herkese açık LiveCard setViews (RemoteViews görüntülemeleri)

Bu kartın kullanıcı arayüzünü görüntülemek için kullanılan RemoteViews değerini değiştirir.

Bu yöntem, yayınlanan bir kartın uzaktan görünümlerinde doğrudan değişiklik yaptıktan sonra da çağrılmalıdır. Aksi takdirde, bu değişiklikler zaman çizelgesine yansıtılmaz.

Doğrudan oluşturma etkinleştirilirse bu yöntemin etkisi olmaz.

Parametreler
görüntüleme kartın kullanıcı arayüzü
İadeler
  • arama zinciri oluşturmak için bu nesne
XE21 API düzeyinde eklendi

herkese açık LiveCard setVoiceActionEnabled (boole etkinleştirme)

Kart zaman çizelgesinde gösterildiğinde sesli işlemi etkinleştirir.

Ayarlandığında kart, zaman çizelgesinde gösterildiğinde "ok cam"ı dinler ve bu koruyucu ifade söylendiğinde setAction(PendingIntent) yöntemi tarafından belirlenen niyeti tetikler. Amaç, bağlamsal sesli menüler uygulayan bir etkinlik başlatırsa etkinlik ilk menü öğelerinde otomatik olarak açılır (ör. etkinliğin içinde "ok cam" söylenmiş gibi). Bu özellik, canlı kartlara içeriğe dayalı sesli menüler uygulamayı sağlar.

Parametreler
enable sesli işlemin etkinleştirilip etkinleştirilmeyeceği
İadeler
  • arama zinciri oluşturmak için bu nesne
İlgili Konular
XE12 API düzeyinde eklendi

herkese açık geçersiz yayından kaldır ()

Bu kartı zaman çizelgesinden yayından kaldırır.