<etkinlik>

söz dizimi:
<activity android:allowEmbedded=["true" | "false"]
          android:allowTaskReparenting=["true" | "false"]
          android:alwaysRetainTaskState=["true" | "false"]
          android:autoRemoveFromRecents=["true" | "false"]
          android:banner="drawable resource"
          android:canDisplayOnRemoteDevices=["true" | "false"]
          android:clearTaskOnLaunch=["true" | "false"]
          android:colorMode=[ "hdr" | "wideColorGamut"]
          android:configChanges=["colorMode", "density",
                                 "fontScale", "fontWeightAdjustment",
                                 "grammaticalGender", "keyboard",
                                 "keyboardHidden", "layoutDirection", "locale",
                                 "mcc", "mnc", "navigation", "orientation",
                                 "screenLayout", "screenSize",
                                 "smallestScreenSize", "touchscreen", "uiMode"]
          android:directBootAware=["true" | "false"]
          android:documentLaunchMode=["intoExisting" | "always" |
                                  "none" | "never"]
          android:enabled=["true" | "false"]
          android:enabledOnBackInvokedCallback=["true" | "false"]
          android:excludeFromRecents=["true" | "false"]
          android:exported=["true" | "false"]
          android:finishOnTaskLaunch=["true" | "false"]
          android:hardwareAccelerated=["true" | "false"]
          android:icon="drawable resource"
          android:immersive=["true" | "false"]
          android:label="string resource"
          android:launchMode=["standard" | "singleTop" |
                              "singleTask" | "singleInstance" | "singleInstancePerTask"]
          android:lockTaskMode=["normal" | "never" |
                              "if_whitelisted" | "always"]
          android:maxRecents="integer"
          android:maxAspectRatio="float"
          android:multiprocess=["true" | "false"]
          android:name="string"
          android:noHistory=["true" | "false"]  
          android:parentActivityName="string" 
          android:persistableMode=["persistRootOnly" | 
                                   "persistAcrossReboots" | "persistNever"]
          android:permission="string"
          android:process="string"
          android:relinquishTaskIdentity=["true" | "false"]
          android:requireContentUriPermissionFromCaller=["none" | "read" | "readAndWrite" |
                                                         "readOrWrite" | "write"] 
          android:resizeableActivity=["true" | "false"]
          android:screenOrientation=["unspecified" | "behind" |
                                     "landscape" | "portrait" |
                                     "reverseLandscape" | "reversePortrait" |
                                     "sensorLandscape" | "sensorPortrait" |
                                     "userLandscape" | "userPortrait" |
                                     "sensor" | "fullSensor" | "nosensor" |
                                     "user" | "fullUser" | "locked"]
          android:showForAllUsers=["true" | "false"]
          android:stateNotNeeded=["true" | "false"]
          android:supportsPictureInPicture=["true" | "false"]
          android:taskAffinity="string"
          android:theme="resource or theme"
          android:uiOptions=["none" | "splitActionBarWhenNarrow"]
          android:windowSoftInputMode=["stateUnspecified",
                                       "stateUnchanged", "stateHidden",
                                       "stateAlwaysHidden", "stateVisible",
                                       "stateAlwaysVisible", "adjustUnspecified",
                                       "adjustResize", "adjustPan"] >   
    ...
</activity>
bulunduğu yer:
<application>
şunları içerebilir:
<intent-filter>
<meta-data>
<layout>
description:
Aşağıdaki özelliklere sahip bir etkinlik (Activity alt sınıfı) tanımlı uygulamanın görsel kullanıcı arayüzünün bir bölümünü uygular. Tüm etkinlikler <activity> ile temsil edilmelidir öğesi bulunduğundan emin olun. Beyan edilmeyenler görülmedi hiçbir zaman çalıştırılmaz.
özellikler:
android:allowEmbedded

Etkinliğin başka bir öğenin yerleştirilmiş alt öğesi olarak başlatılabileceğini belirtir özellikle çocuğun kabın içinde yaşadığı durumlarda örneğin başka bir etkinliğe ait Display. Örneğin, etkinlikler bu, Wear özel bildirimleri için kullanılan Wear, etkinliği kendi içerik akışında gösterebilir. başka bir süreçte olabilir.

Bu özelliğin varsayılan değeri: false.

android:allowTaskReparenting
Etkinliğin, başlatıldığı görevden sonraki döneme taşınıp taşınamayacağı veya söz konusu görev kullanıcıya yakın bir zamanda . Hareket edebiliyorsa "true", hareket edebilirse "false" başladığı görevde kalır.

Bu özellik ayarlanmazsa ilgili allowTaskReparenting. <application> öğesinin özelliği geçerli olduğundan emin olun. Varsayılan değer "false" değeridir.

Normalde bir etkinlik başlatıldığında, o aktivitenin ve tüm yaşam boyu orada kalır. Bu özelliği, üzerinde çalıştığı göreve yeniden üstlenmeye zorlamak için kullanabilirsiniz mevcut görevinin artık gösterilmemesini tercih ediyor. Genellikle bu, uygulama etkinliklerinin hareket etmesini sağlamak için kullanılır. bu uygulamayla ilişkili ana göreve yönlendirir.

Örneğin, bir e-posta iletisi bir web sayfasının bağlantısını içeriyorsa bağlantı, sayfayı görüntüleyebilen bir etkinlik getirir. O etkinlik tarayıcı uygulaması tarafından tanımlanır ancak e-postanın bir parçası olarak başlatılır görevi görebilir. Yeniden üst öğe olarak tarayıcı görevine verilmişse, açılan bir sonraki tarayıcı en öne çıkıyor ve e-posta görevi yine öne çıkar.

Bir etkinliğin benzeşimi taskAffinity özelliği için de kullanılmaktadır. Yakın ilgi alanı kök aktivitesinin benzeşimi okunarak belirlenir. Dolayısıyla, kök etkinliği tanım gereği her zaman aynı yakın ilgi alanıdır. "singleTask" veya "singleInstance" başlatma modları yalnızca bir görevin kökünde olabilir. yeniden ebeveynlik durumu, "standard" ve "singleTop" ile sınırlıdır kullanabilirsiniz. (Ayrıca bkz. launchMode özelliğine ilişkin bir değerdir.)

android:alwaysRetainTaskState
Etkinliğin bulunduğu görevin durumu her zaman sağlayan bir sistemdir. Varsa "true" ve Sistem, görevi baş harfine sıfırlayabilirse "false" bazı durumlarda kullanabilirsiniz. Varsayılan değer "false" değeridir. Bu özelliğinin yalnızca bir görevin kök etkinliği için anlamlı olduğunu unutmayın. Yok sayıldı harika bir seçenektir.

Normalde sistem bir görevi temizleyerek tüm etkinlikleri yığından kaldırır kullanıcının yeniden seçtiği belirli durumlarda, kök etkinliğin üstüne görevi görebilir. Bu genellikle kullanıcının sayfayı belirli bir süre, mesela 30 dakika.

Ancak, bu özellik "true" olduğunda kullanıcılar her zaman geri gelir o göreve nasıl geri döndüklerine bakmaksızın Bu bir web tarayıcısı gibi bir uygulamada, birçok durum (ör. birden fazla açık sekme) olması gerekir.

android:autoRemoveFromRecents
Bu özelliğe sahip etkinlik tarafından başlatılan görevlerin Şu anki son etkinliğe kadar Son kullanılanlar ekranı teşvik etmelisiniz. true ise görev Son Kullanılanlar ekranından otomatik olarak kaldırılır. Bu, arayanın FLAG_ACTIVITY_RETAIN_IN_RECENTS Boole değeri olmalıdır: "true" veya "false".
android:banner
Çekilebilir bir kaynak İlgili öğesi için genişletilmiş bir grafik banner sağlar. Şununla kullanın: <activity> etiketini kullanarak belirli bir etkinlik için veya <application> etiketini kullanabilir.

Sistem, banner'ı bir uygulamayı temsil etmek için TV ana ekranında görebilirsiniz. Banner yalnızca ana ekranda gösterildiği için, yalnızca CATEGORY_LEANBACK_LAUNCHER intent.

Bu özellik, resim (örneğin, "@drawable/banner"). Varsayılan banner yoktur.

Daha fazla bilgi için bkz. TV Uygulamalarını Kullanmaya Başlama bölümünde bir ana ekran banner'ı sağlayın.

android:canDisplayOnRemoteDevices

Etkinliğin uzak bir cihazda görüntülenip görüntülenemeyeceğini belirtir. Android'i çalıştırıyor veya çalıştırmıyor olabilir. Boole değeri olmalıdır: "true" veya "false".

Bu özelliğin varsayılan değeri: "true".

android:clearTaskOnLaunch
Şunlar hariç tüm etkinliklerin görevden kaldırılıp kaldırılmayacağı: kök etkinliği ayarlar. Görev her zaman kök etkinliğiyle sınırlandırıldıysa "true" ve Değilse "false". Varsayılan değer "false" değeridir. Bu özellik yalnızca yeni bir görev, yani kök aktiviteyi başlatan faaliyetler için anlamlıdır. Görevdeki diğer tüm etkinlikler için yoksayılır.

Değer "true" olduğunda, kullanıcılar göreve her başladıklarında en son ne yaptıklarına bakılmaksızın kök etkinliğine için geri ya da ana sayfa düğmesini kullanıp kullanmadıklarına bırak gitsin. Değer "false" olduğunda, şuradaki etkinlikler temizlenebilir: bazı durumlarda ama her zaman değil. Daha fazla bilgi için alwaysRetainTaskState özelliği için de kullanılmaktadır.

Kullanıcının ana ekrandan P etkinliğini başlattığını varsayalım ve oradan Q etkinliğine gidersiniz. Kullanıcı daha sonra Ana Sayfa'ya dokunur ve ardından geri döner P etkinliğine katılır. Normalde kullanıcı, Q etkinliğini görür, çünkü bu, P'nin görevini en son yaptıkları görev. Ancak P bu işareti "true" değerine ayarlarsa kullanıcı yeniden başlattığında, hatanın üst kısmındaki etkinliklerin (bu örnekte, Q) ana ekrandan P etkinliği seçin. Bu nedenle kullanıcı, göreve geri dönerken yalnızca P'yi görür.

Bu özellik ve allowTaskReparenting hem "true" ise, yeniden üst öğe eklenebilecek tüm etkinlikler ortak paydada buluşması gereken çıkarımlar olur. Kalan etkinlikler atlanır.

FLAG_ACTIVITY_RESET_TASK_IF_NEEDED ayarlanmazsa bu özellik yoksayılır.

android:colorMode

Etkinliğin renk modunu belirtir. Belirtilmişse hdr veya wideColorGamut.

hdr ise etkinliğin yüksek dinamik bir aralıkta desteklediğini de gösterir.

wideColorGamut ise etkinliğin geniş renk gamı modunda görüntülenmesini ister uyumlu cihazlarda kullanabilirsiniz. Geniş renk gamı modunda, bir pencere ekranın SRGB gamı daha canlı renkler gösterir. Cihaz, geniş renk gamı oluşturmayı desteklemiyorsa özelliğinin bir etkisi yoktur. Geniş renk modunda oluşturma hakkında daha fazla bilgi için bkz. Geniş renkli içerikle grafikleri geliştirme.

android:configChanges
Etkinliğin kendi kendine işlediği yapılandırma değişikliklerini listeler. Bir yapılandırma çalışma zamanında gerçekleşir, etkinlik varsayılan olarak kapanır ve yeniden başlatılır, ancak yapılandırması etkinliğin yeniden başlatılmasını engeller. Bunun yerine etkinlik çalışmaya devam eder ve onConfigurationChanged() yöntemi çağrılır.

Not: Bu özelliği yalnızca özel durumlarda, uygulamayı daha iyi hale getirmek için kullanın. daha iyi performans ve yanıt verme sürelerine odaklanıyoruz. Daha fazla bilgi için Yapılandırma değişikliklerini işleme başlıklı makaleyi inceleyin.

Aşağıdaki dizeler bu özellik için geçerli değerlerdir. Birden çok değer | ile ayrılmış (örneğin, "locale|navigation|orientation").

Değer Açıklama
"colorMode"

Ekranın renk modu özellikleri (renk gamı veya dinamik aralık) değişti.

Not: Etkinliğin colorMode özelliğiyle veya çalışma zamanında istediği renk modu, farklı renk modları özelliğinden farklıdır. Ekranın renk özellikleri değişmediğinden, kullandığı renk modunu değiştiren bir etkinlik, yapılandırmada değişikliğe neden olmaz.

"density"

Görüntü yoğunluğunda değişiklik (ör. kullanıcının veya farklı bir ekran şu anda etkin.

API düzeyi 24'te eklendi.

"fontScale" Yazı tipi ölçeklendirme faktöründe değişiklik (ör. kullanıcının yazı tipi boyutu ekledik.
"fontWeightAdjustment" Yazı tipi ağırlığı artışı değişti.
"grammaticalGender" Dilin dil bilgisine göre cinsiyeti değişti. Görüntüleyin GrammaticalInflectionManager değerleridir.

API düzeyi 34'te eklendi.

"keyboard" Klavye türünde bir değişiklik (ör. kullanıcının takıldığından emin olun.
"keyboardHidden" Klavye erişilebilirliğinde bir değişiklik; örneğin donanım klavyesini gösteriyor.
"layoutDirection"

Düzen yönünde bir değişiklik, örneğin soldan sağa (LTR) sağdan sola (RTL)

API düzeyi 17'de eklendi.

"locale" Yerel ayarda yapılan bir değişiklik; örneğin, kullanıcının yeni bir öğe seçmesi metnin gösterildiği dildir.
"mcc" Aşağıdaki durumlarda IMSI mobil ülke kodunda (MM) yapılan değişiklik MM'yi güncelleyen bir SIM algılandığında.
"mnc" Aşağıdaki durumlarda IMSI mobil ağ kodunda (MNC) MNC'yi güncelleyen bir SIM algılanır.
"navigation" TA, navigasyon türünü değiştirir (izlemetopu veya D-pad). Normalde bu durum söz konusu değildir.
"orientation"

Ekran yönünde bir değişiklik (ör. kullanıcının cihazı döndürmesi).

Not: Uygulamanız bunu hedefliyorsa Android 3.2 (API düzeyi 13) veya sonraki sürümler için de "screenLayout" ve "screenSize" yapılandırmaları, çünkü ekran düzeni ekran boyutu da değişebilir. Cihaz dikey ve yatay yönler arasında geçiş yaptığında

"screenLayout" Ekran düzeninde yapılan bir değişiklik (örneğin, farklı bir ekranın etkin hale gelmesi).
"screenSize"

Mevcut ekran boyutunda değişiklik.

Bu durum, Mevcut en boy oranı, kullanıcı yatay mod arasında geçiş yaptığında değişir ve dikey.

API düzeyi 13'e eklendi.

"smallestScreenSize"

Fiziksel ekran boyutunda değişiklik.

Bu, yön ne olursa olsun boyuttaki bir değişikliği temsil eder, yani yalnızca gerçek fiziksel ekran boyutu değiştiğinde (ör. yeni bir ekran harici bir ekran. Bu yapılandırmada yapılan bir değişiklik, şu değişikliğe karşılık gelir: smallestWidth yapılandırma.

API düzeyi 13'e eklendi.

"touchscreen" Dokunmatik ekranda değişiklik. Normalde bu durum söz konusu değildir.
"uiMode" Kullanıcı arayüzü modunda yapılan bir değişiklik; örneğin, kullanıcının bir masaya ya da araba yuvasına koyabilir veya gece modu değişir. Daha fazla bilgi edinmek için bkz. UiModeManager

API düzeyi 8'e eklendi.

Tüm bu yapılandırma değişiklikleri, bir uygulamadır. Dolayısıyla, onConfigurationChanged(). çağrısı yapıldığında, genellikle bu işlemi değişikliği doğru şekilde işlemek için görünüm düzenleri ve çekilebilir öğeler dahil tüm kaynakları alma.

Not: Çoklu pencere ile ilgili yapılandırma değişikliklerini işlemek için "screenLayout" ve "smallestScreenSize" öğelerini kullanın. Çoklu pencere, Android 7.0 (API düzeyi 24) veya sonraki sürümlerde desteklenir.

android:directBootAware

Etkinliğin Doğrudan Başlatma'ya duyarlı olup olmadığı, yani çalıştırılıp çalıştırılamayacağını belirler.

Not: Doğrudan Başlatma, uygulamanız sadece şurada saklanan verilere erişebilir: cihaz korumalı depolama alanı.

Varsayılan değer "false" değeridir.

android:documentLaunchMode
Bir etkinlik yeni örneğinin her başlatıldığında göreve nasıl ekleneceğini belirtir. Bu özellik, kullanıcının aynı uygulamadan birden fazla dokümana sahip olmasına izin verir Son çağrılar ekranında görünür.

Bu özelliğin dört değeri vardır ve kullanıcı bir dokümanı açtığında aşağıdaki etkileri oluşturur şu uygulamayla:

Değer Açıklama
"intoExisting" Sistem, temel amacı ComponentName ve veri URI'si olan bir görev arar başlatma niyetiyle aynı olmalıdır. Sistem böyle bir görev bulursa yeniden başlatılır ve kök etkinlik onNewIntent(android.content.Intent) Sistem böyle bir görev bulamazsa yeni bir görev oluşturur.
"always" Doküman önceden açılmış olsa bile etkinlik doküman için yeni bir görev oluşturur. Bu, hem FLAG_ACTIVITY_NEW_DOCUMENT hem de ve FLAG_ACTIVITY_MULTIPLE_TASK işaret.
"none" Etkinlik, söz konusu etkinlik için yeni bir görev oluşturmaz. Bu, varsayılan olarak yalnızca FLAG_ACTIVITY_NEW_TASK ayarlandığında yeni bir görev oluşturur. Son Kullanılanlar ekranı etkinliği varsayılan olarak yaptığı gibi ele alır: Her biri için tek bir görev Kullanıcının en son çağırdığı etkinlikten devam eden uygulama.
"never" Amaç aşağıdakileri içerse bile etkinlik yeni bir dokümanda başlatılmıyor FLAG_ACTIVITY_NEW_DOCUMENT Bunun ayarlanması, davranışı geçersiz kılar FLAG_ACTIVITY_NEW_DOCUMENT ve FLAG_ACTIVITY_MULTIPLE_TASK flag'leri (bunlardan biri tıkladığınızda, Son Kullanılanlar ekranında uygulama için tek bir görev görüntülenir ve bu görev şuradan devam ettirilir: kullanıcının en son çağırdığı etkinlik.

Not: "none" ve "never" dışındaki değerler için etkinlik launchMode="standard" ile tanımlanır. Bu özellik belirtilmezse documentLaunchMode="none" kullanılıyor.

android:enabled
Etkinliğin sistem tarafından örneklenebilir olup olmadığı. İnsanların Mümkünse "true", değilse "false". Varsayılan değer "true".

<application> öğesinin kendi enabled değeri vardır özelliğini kullanmanızı öneririz. İlgili içeriği oluşturmak için kullanılan <application>. ve <activity> özelliklerinin ikisi de "true" olmalıdır, çünkü ikisi de varsayılan olarak, sistemin etkinliği örnekleyebilmesi için gereklidir. İkisinden biri "false" olduğundan örneklenemez.

android:enableOnBackInvokedCallback
Bu işaret, etkinlik düzeyinde tahmine dayalı sistem animasyonlarını etkinleştirmenizi sağlar. Bu davranış büyük çoklu etkinlik uygulamalarının tahmine dayalı geri hareketlerine taşınmasını daha kolay hale getirir.

android:enableOnBackInvokedCallback=false ayarlandığında tahmine dayalı geri devre dışı bırakılır animasyonları etkinlik düzeyinde veya uygulama düzeyinde yapabilirsiniz; etiketi nereye ayarladığınıza bağlı olarak, ve sisteme OnBackInvokedCallback platform API'sine yapılan çağrıları yoksayması talimatını verir.

android:excludeFromRecents

Bu etkinlik tarafından başlatılan görevin Son kullanılanlar ekranı. Yani bu etkinlik, yeni bir istemcinin kök etkinliği olduğunda, bu özellik, görevin son uygulamalar listesinde görünüp görünmeyeceğini belirler. İnsanların Görev, listeden hariç tutulduysa "true"; Varsa "false" dahildir. Varsayılan değer "false" değeridir.

android:exported

Etkinliğin diğer uygulamalar:

  • "true" ise etkinlik tüm uygulamalar tarafından erişilebilir ve kendisi tarafından başlatılabilir. sınıf adı.
  • "false" ise etkinlik yalnızca aynı uygulama, aynı kullanıcı kimliğine sahip uygulamalar veya ayrıcalıklı sistem bileşenleri kullanılabilir. Intent filtresi olmadığında, varsayılan değer budur.

Uygulamanızdaki bir etkinlik intent filtreleri içeriyorsa bu öğeyi Diğer uygulamaların başlatmasını sağlamak için "true". Örneğin, etkinlik ana etkinlikse category içerir ve android.intent.category.LAUNCHER.

Bu öğe "false" değerine ayarlanırsa ve bir uygulama etkinliği başlatmaya çalışırsa sistem ActivityNotFoundException.

Bu özellik, bir etkinliğin diğer kullanıcıların etkinlikleri görmelerini sınırlamanın tek yolu değildir. izin verir. İzinler, kontrol sahibi olan harici varlıkları sınırlandırmak için de nasıl oluşturabileceğini belirleyebilirsiniz. Bkz. permission. özelliğini gönderin.

android:finishOnTaskLaunch
Etkinliğin mevcut bir örneğinin kapatılıp kapatılmadığı Kullanıcı, kök etkinlik haricinde, kullanıcı sayfada görevi seçerek görevini yeniden başlattığında dokunun. Kapalıysa "true", "false" e-posta gönderin. Varsayılan değer "false" değeridir.

Bu özellik ve allowTaskReparenting. ikisi de "true" ise bu özellik diğerinden üstündür. Yakın ilgi alanı etkinliği yok sayılır. Etkinlik yeniden üst öğe olarak oluşturulmaz, ancak kaldırılır.

FLAG_ACTIVITY_RESET_TASK_IF_NEEDED ayarlanmazsa bu özellik yoksayılır.

android:hardwareAccelerated
Donanım hızlandırmalı oluşturmanın bunun için etkinleştirilip etkinleştirilmediği etkinliği'ne dokunun. Etkinse "true" ve etkinse "false" değil. Varsayılan değer "false" değeridir.

Android 3.0 ve sonraki sürümlerde, donanım hızlandırmalı OpenGL oluşturucu uygulamalarda, birçok yaygın 2D grafiğin performansını artırma amaçlı kullanılabilir anlamına gelir. Donanım hızlandırmalı oluşturucu etkinleştirildiğinde çoğu işlem Canvas, Paint, Xfermode, ColorFilter, Shader ve Camera'da hızlandırıldı.

Bu da daha akıcı animasyonlara, daha akıcı kaydırmaya ve veya bu alan adını açıkça kullanmayan uygulamalar için bile çerçevenin OpenGL kitaplıkları. Ekibin çalışmalarını tamamlamak için gereken donanım hızlandırmayı etkinleştirdiğinizde uygulamanız daha fazla RAM tüketir.

OpenGL 2D işlemlerinin tamamı hızlandırılmaz. Yalnızca donanım hızlandırmalı oluşturucuyu kullanıyorsanız, uygulamanızın oluşturucuyu hatasız şekilde kullanabilirsiniz.

android:icon

Etkinliği temsil eden bir simge. Simge, şu durumlarda kullanıcılara gösterilir: Bu etkinliğin ekranda gösterilmesi gerekir. Örneğin, simgeler Başlatıcı penceresinde görüntülenir. Simgeyle birlikte genellikle bir etiket gösterilir; Etiket hakkında bilgi için android:label özelliğine bakın.

Bu özellik, görebilirsiniz. Ayarlanmadıysa uygulama için belirtilen simge bunun yerine bir bütün olarak kullanılır. Daha fazla bilgi için <application>. öğesinin icon özelliği.

Etkinliğin simgesi (burada, <application>. öğesi, aynı zamanda etkinliğin tüm intent filtreleri için varsayılan simgedir. Daha fazla bilgi için <intent-filter> öğesinin icon özelliği için de geçerlidir.

android:immersive
Geçerli etkinlik için yoğun içerik modu ayarını ayarlar. "true" ise ActivityInfo.flags üyesi her zaman FLAG_IMMERSIVE bit seti, setImmersive() yöntemini kullanarak çalışma zamanında yoğun içerik modu değişiklikleri.
android:label

Etkinlik için kullanıcı tarafından okunabilir bir etiket. Etiket ekranda gösterilir Etkinlik kullanıcıya temsil edildiğinde. Genellikle projeyle ilgili oturum açın. Bu özellik ayarlanmazsa uygulamanın tamamı için ayarlanan etiket kullanılır. <application> öğesinin label özelliği için de geçerlidir.

Etkinliğin etiketi (burada, <application> öğesi, aynı zamanda varsayılan etiketi kullanır. Daha fazla bilgi için <intent-filter> öğesinin label özelliği için de geçerlidir.

Etiket bir dize kaynağına başvuru olarak ayarlanır. Böylece, bu dizeler, kullanıcı arayüzündeki diğer dizeler gibi yerelleştirilebilir. Ancak, uygulamayı geliştirirken size kolaylık olması açısından, aynı zamanda ham dize olarak da ayarlanabilir.

android:launchMode

Etkinliğin nasıl başlatıldığına ilişkin bir talimat. Beş mod vardır. etkinlik işaretleriyle birlikte çalışan (FLAG_ACTIVITY_* sabit değer) sırasında ne olacağını belirlemek için Intent nesnede etkinlik, bir niyeti işlemek için çağrılır:

"standard"
"singleTop"
"singleTask"
"singleInstance"
"singleInstancePerTask"

Varsayılan mod: "standard".

Aşağıdaki tabloda gösterildiği gibi, modlar iki ana gruba ayrılır: Bir tarafta "standard" ve "singleTop" etkinlikleri, "singleTask", "singleInstance" ve Diğer tarafta "singleInstancePerTask" etkinlik var. "standard" veya "singleTop" başlatma modu birden fazla kez örneklenebilir.

Örnekler herhangi bir göreve ait olabilir ve etkinlik görevinin herhangi bir yerinde olabilir. Genellikle, üst düzey büyük bir ekiple çalışmaya başladığını startActivity(), Intent nesnesi FLAG_ACTIVITY_NEW_TASK farklı bir görev seçilir. Daha fazla bilgi için taskAffinity özelliğini gönderin.

Buna karşılık "singleTask", "singleInstance" ve "singleInstancePerTask" etkinliklerinin farklı davranışları var. "singleInstancePerTask" her zaman etkinlik görevinin kökünde yer alır. Ayrıca, cihaz Aynı anda "singleInstance" etkinlik, "singleInstancePerTask etkinliği birden çok kez örneklenebilir farklı görevlerde tamamlamak için FLAG_ACTIVITY_MULTIPLE_TASK veya FLAG_ACTIVITY_NEW_DOCUMENT ayarlandı.

"singleTask" başlatma modundaki bir etkinlik, "singleInstance" ve "singleInstancePerTask": Etkinlik birden fazla kez örneklenebilir ve aynı taskAffinity görevinde herhangi bir yerde bulunabilir. Ancak cihaz, cihazı bulmak için yalnızca bir Etkinlik görevinin kökünde "singleTask" etkinliği var.

"standard" ve "singleTop" modları birbirinden farklı tek bir açıdan: "standard" için yeni bir amaç olduğunda söz konusu amaca yanıt vermek için sınıfın yeni bir örneği oluşturulur. Her örnek tek bir niyeti işler. Benzer şekilde, "singleTop" etkinliğinin yeni bir örneği de yeni bir amaç için oluşturulur.

Ancak, hedef görevde zaten en üstteki etkinlik örneği ise "bu örnek" yeni niyeti alır ve onNewIntent() arama. Yeni bir örnek oluşturulmaz. Aksi halde ( "singleTop" etkinliği hedef görevde ancak listenin en üstünde değil bir yığının en üstündeyse ancak hedef görevde değilse yeni bir örnek oluşturulur ve yığına aktarılır.

Benzer şekilde, kullanıcı gezinmeler kadar mevcut bir yığında bir etkinlik gösterdiğinde, davranış başlatma modunu etkinleştirmenizi öneririz. Üst etkinlik singleTop başlatma moduna sahipse (veya up amacı FLAG_ACTIVITY_CLEAR_TOP içeriyorsa) üst öğe durumu korunur.

Gezinme amacı alındı ebeveyn etkinliğinin onNewIntent() parametresine göre yöntemidir. Ebeveyn etkinliğinde standard başlatma modu varsa ve up amacı FLAG_ACTIVITY_CLEAR_TOP değerini, geçerli etkinliği ve şunu içermiyor: üst öğe yığından çıkarılır ve gezinme amacını almak için üst etkinliğin yeni bir örneği oluşturulur.

"singleInstance" modu ayrıca "singleTask" modundan farklı ve "singleInstancePerTask" yalnızca tek bir açıdan ele alınır: "singleTask" veya "singleInstancePerTask" başlatma modu diğer etkinliklere izin verir. "standard" ve "singleTop" etkinlik, bu görevin bir parçası olun.

CEVAP Öte yandan, "singleInstance" etkinliği başka hiçbir bu faaliyetlerin bir parçası olmasını sağlar. Görevdeki tek aktivite bu olmalıdır. Eğer başka bir etkinlik başlatırsa, o etkinlik farklı bir göreve atanır; kasıtlı olarak FLAG_ACTIVITY_NEW_TASK kullanıldı.

Kullanım örnekleri Başlatma modu Birden fazla örnek mi var? Yorumlar
Çoğu aktivite için normal lansmanlar "standard" Evet Varsayılan. Sistem her zaman etkinliğin yeni bir örneğini ve niyeti ona yönlendirir.
"singleTop" Koşula bağlı olarak Etkinliğin bir örneği hedef görevin en üstünde zaten varsa sistem, yeni bir kod oluşturmak yerine amacı onNewIntent() yöntemine çağrı aracılığıyla bu etkinliğin yeni örneği olabilir.
Özel lansmanlar
(genel kullanım için önerilmez)
"singleTask" Koşula bağlı olarak Sistem, yeni bir görevin kökünde etkinlik oluşturur veya aynı ilgi alanına sahip mevcut bir görevdeki etkinliği bulur. Sistem, etkinliğin bir örneği zaten varsa ve görevin kök dizinindeyse sistem bir örnek oluşturmak yerine isteği onNewIntent() yöntemine çağrı aracılığıyla mevcut örneğe yönlendirir oluşturabilirsiniz.
"singleInstance" Hayır Sistemin herhangi bir şey başlatmaması dışında "singleTask" ile aynıdır. örneği tutan göreve ekleyeceksiniz. Etkinlik her zaman bir üyesi olması gerekir.
"singleInstancePerTask" Koşula bağlı olarak Etkinlik yalnızca görevin kök etkinliği olarak çalışabilir. etkinliği oluşturan bir faktördür ve bu nedenle yalnızca bir göreve ekleyeceksiniz. Bununla birlikte, etkinlik farklı görevlerde birden çok kez örneklenebilir.

Önceki tabloda gösterildiği gibi "standard" varsayılan moddur ve pek çok aktivite için uygun. "singleTop" aynı zamanda bir birçok etkinlik türü için yaygın ve kullanışlı bir başlatma modu sunuyoruz. Diğer modlar "singleTask" , "singleInstance" ve "singleInstancePerTask", uygun değildir. Bu sebeple de muhtemelen aşina olmadığınız bir etkileşim modeline ve diğer çoğu uygulamadan çok farklıdır.

Seçtiğiniz başlatma modundan bağımsız olarak, uygulamanızın veya oyununuzun ve geri dönüp bu etkinliğe döndüğünüzde, ve görevler için geri bildirim gönderin.

Başlatma modları ve Intent ile etkileşimleri hakkında daha fazla bilgi edinin. bayraklar, bkz. Görevler ve arka yığın.

android:lockTaskMode
Cihaz şu cihazda çalışırken sistemin bu etkinliği nasıl sunacağını belirler: görev modunu kilitleyin.

Android, görevleri kilitleme görevi modu olarak adlandırılan, kiosk benzeri kapsamlı bir şekilde çalıştırabilir. Sistem, kilit görevi modunda çalıştığında, cihaz kullanıcıları genellikle bildirimleri göremez, izin verilenler listesindeki uygulamalara erişemez, veya Home uygulaması izin verilenler listesinde değilse ana ekrana dönmesine izin vermez.

Yalnızca bir cihaz politikası denetleyici (DPC) tarafından izin verilenler listesine eklenenler, sistem kilitleme görevi modundayken çalışabilir. Sistem ve ayrıcalıklı uygulamalar kullanıyorsanız ancak izin verilenler listesine eklenmeden kilit görevi modunda çalışabilir.

Değer aşağıdakilerden herhangi biri olabilir R.attr.lockTaskMode dize değerleri:

Değer Açıklama
"normal" Varsayılan değer. Bu, varsayılan değerdir. Görevler, kilit görevi modunda başlatılmaz ancak telefon ederek oraya ekleyebilirsiniz startLockTask().
"never"

Görevler lockTask modunda başlatılmaz ve cihaz kullanıcısı bu görevleri şuradan sabitleyemez: Son kullanılanlar ekranı.

Not: Bu mod yalnızca sistemde ve ayrıcalıklı uygulamalarda kullanılabilir. Bu değere sahip ayrıcalığı olmayan uygulamalar normal olarak değerlendirilir.

"if_whitelisted" DPC bu paketi DevicePolicyManager.setLockTaskPackages() bu mod always ile aynıdır, ancak etkinliğin stopLockTask() önce en son kilit görevi tamamlayabilir. DPC bu paketi yetkilendirmezse mod normal ile aynı.
"always"

Bu etkinlikten kaynaklanan görevler her zaman kilit görevi modunda başlatılır. Sistem zaten görev başlatıldığında yeni görev mevcut görevin üstünde başlatılır. Bu modda başlatılan görevler, şunu arayarak kilit görevi modundan çıkabilir: finish().

Not: Bu mod yalnızca sistemde ve ayrıcalıklı uygulamalarda kullanılabilir. Bu değere sahip ayrıcalığı olmayan uygulamalar normal olarak değerlendirilir.

Bu özellik, API düzeyi 23'te kullanıma sunulmuştur.

android:maxRecents
Son kullanılanlar ekranı. Bu sayıda girişe ulaşıldığında, sistem en güncel olan kullanılan örneği seçin. Geçerli değerler, 1 ile 50 arasında tam sayılardır veya düşük bellekli cihazlarda 1 ile 25 arasındaki değerlerdir. Sıfır geçersiz. Varsayılan değer 16'dır.
android:maxAspectRatio

Etkinliğin desteklediği maksimum en boy oranı. Uygulama çalışırsa daha geniş bir en boy oranına sahip bir cihazda sistem, uygulamayı otomatik olarak sinemaskop efektiyle Uygulamanın belirtilen maksimum en boy oranında çalışabilmesi için ekranın bazı bölümlerini kullanılmadan bırakmak.

Maksimum en boy oranı, cihazın uzun kenarının bölmesinin ondalık biçimi olarak ifade edilir. boyutu daha kısa olan boyutuna bölünür. Örneğin, maksimum en boy oranı 7:3 ise bu özelliğin değerini 2,33 olarak ayarlayın.

Giyilebilir olmayan cihazlarda bu özelliğin değeri 1, 33 veya daha büyük olmalıdır. Giyilebilir cihazlarda bu değer 1.0 veya üzeri olmalıdır. Aksi halde, sistem değer ayarla.

Not: Etkinlikte aşağıdaki durumlardan biri varsa bu özellik yoksayılır: resizeableActivity, etkinliğiniz anlamına geldiği için doğru olarak ayarlandı her boyutu destekler.

Bu özellik hakkında daha fazla bilgi için bkz. Maksimum en boy oranı tanımlayın.

android:multiprocess
Etkinliğin bir örneğinin bileşen işleminde başlatılıp başlatılamayacağı Google'da görmeye alışkın. Mümkünse "true", değilse "false" olur. Varsayılan değer "false" değeridir.

Normalde bir etkinliğin yeni bir örneği otomatik olarak o etkinliği tanımlayan bir uygulama olduğundan etkinliğin tüm örnekleri aynı bahsedeceğim. Ancak bu işaret "true" değerine ayarlanırsa Etkinlik birden fazla işlemde çalışabilir, bu da sistemin örnekleri nerede kullanılırlarsa olsunlar, izinler sağlandığında asla gerekli olmayan veya istenmeyen.

android:name
Etkinliği uygulayan sınıfın adı, Activity. Özellik değeri: bir proje yöneticisinin sahip olduğu sınıf adı; örneğin, "com.example.project.ExtracurricularActivity". Bununla birlikte, adın ilk karakteri noktaysa Örneğin ".ExtracurricularActivity" gibi, namespace (ad alanı) build.gradle dosyası.

Uygulamanızı yayınladıktan sonra bu adı değiştiremezsiniz (android:exported="false" değerini ayarlamadığınız sürece). Varsayılan yoktur. Ad belirtilmelidir.

android:noHistory
Etkinliğin etkinlik yığınından kaldırılıp kaldırılmayacağı ve finish() çağırarak tamamlandı yöntemini kullanmayı bıraktığında, kullanıcı sayfadan ayrıldığında görünür. Tamamlanmışsa "true" ve Değilse "false". Varsayılan değer "false" değeridir.

"true" değeri, etkinliğin argümanlarınızı sunarsınız. Bu öğe, görevin etkinlik yığınında kalmaz ve böylece kullanıcı geri dönemez. Böyle durumlarda Aşağıdaki durumlarda onActivityResult() asla çağrılmaz: bu etkinlikteki bir sonuç için başka bir etkinlik başlatın.

Bu özellik API düzeyi 3'te kullanıma sunuldu.

android:parentActivityName
Etkinliğin mantıksal üst öğesinin sınıf adı. Buradaki ad sınıfla eşleşmelidir karşılık gelen <activity> öğesinin android:name özelliğiyle birlikte kullanılamaz.

Sistem, hangi etkinliğin ne zaman başlatılacağını belirlemek için bu özelliği okur Kullanıcı, işlem çubuğundaki Yukarı düğmesine dokunur. Sistem bu bilgileri ayrıca etkinlikleri TaskStackBuilder ile sentezleyin.

4-16 API düzeylerini desteklemek için üst etkinliği, "android.support.PARENT_ACTIVITY" değerini belirten bir <meta-data> öğesiyle de bildirebilirsiniz:

<activity
    android:name="com.example.app.ChildActivity"
    android:label="@string/title_child_activity"
    android:parentActivityName="com.example.app.MainActivity" >
    <!-- Parent activity meta-data to support API level 4+ -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.example.app.MainActivity" />
</activity>

Yukarı gezinmeyi desteklemek üzere üst etkinliği bildirme hakkında daha fazla bilgi için okuyun. Yukarıda Gezinme.

Bu özellik, API düzeyi 16'da kullanıma sunuldu.

android:persistableMode

Bir etkinlik örneğinin çok daha fazla zaman harcıyor.

Bir görevin kök etkinliği, bu özelliğin değerini persistRootOnly kullanıyorsanız yalnızca kök etkinlik korunur. Aksi takdirde, görevin daha üst sıralarında geri yığın incelendikten sonra, bu özelliğin değerini persistAcrossReboots korunuyor.

Bu özelliği kullanırsanız değerini takip etmek için:

Değer Açıklama
persistRootOnly

Varsayılan değer. Sistem yeniden başlatıldığında etkinlik görevi korunur ancak yalnızca kök etkinliğin başlatma amacı kullanılır.

Uygulamanızın başlatma amacı, uygulamanızın kök etkinliğini yüklediğinde etkinliği PersistableBundle nesnesi almıyor. Bu nedenle, onSaveInstanceState(). uygulamanızın kök etkinliğinin bir cihaz genelinde durumunu korumak için yeniden başlat.

Not: Bu özellik değeri, uygulamanızın uygulamanızın kök etkinliğinde ayarlanmışsa otomatik olarak çalışır.

persistAcrossReboots

Bu etkinliğin durumu, her bir etkinliğin durumu ile birlikte korunur. daha yüksek geri kendi persistableMode özelliği şu şekilde ayarlanmış olmalıdır: persistAcrossReboots. Bir etkinlikte olarak ayarlanmış bir persistableMode özelliği persistAcrossReboots veya Intent.FLAG_ACTIVITY_NEW_DOCUMENT o aktivite ve arkadaki tüm aktivitelerle birlikte saklanmaz.

Amaç, persistableMode barındıran bir etkinlik yüklediğinde uygulamanızda persistAcrossReboots olarak ayarlanırsa etkinliği,PersistableBundle onCreate() yöntemi. Bu nedenle, onSaveInstanceState(). cihaz yeniden başlatıldığı sürece, o etkinliğin persistableMode özelliği persistAcrossReboots.

Not: Bu özellik değeri, uygulamanızın uygulamanızın kökü dışındaki bir etkinlikte ayarlanmış olsa bile etkinliği'ne dokunun.

persistNever

Etkinliğin durumu korunmaz.

Not: Bu özellik değeri, uygulamanızın uygulamanızın kök etkinliğinde ayarlanmışsa otomatik olarak çalışır.

Bu özellik, API düzeyi 21'de kullanıma sunuldu.

android:permission
Müşterilerin etkinliği başlatmak için sahip olması gereken iznin adı yanıt vermesini sağlayabilirsiniz. Bir arayan startActivity() veya startActivityForResult() Belirtilen izin verilmediğinde amacı etkinliğe teslim edilmez.

Bu özellik ayarlanmazsa <application>. öğenin permission özelliğinin geçerli olduğunu unutmayın. Hiçbir özellik ayarlanmazsa etkinlik, izni gerekir.

İzinlerle ilgili daha fazla bilgi için bkz. İzinler Uygulama manifesti'ne genel bakış bölümündeki Güvenlik ipuçları.

android:process

Etkinliğin çalıştığı işlemin adı. Normalde bir organizasyonun tüm bileşenleri bir uygulama için oluşturulan varsayılan işlem adında çalıştırıldığında, bu özelliği kullanmanız gerekir. Ancak gerekirse varsayılan işlemi geçersiz kılabilir Bu özelliği kullanarak uygulamanızın bileşenlerini birkaç işlem vardır.

Bu özelliğe atanan ad iki nokta üst üste (:) ile başlıyorsa yeni bir uygulamaya özel bir süreç oluşturulur ve etkinlik bu süreçte yürütülür.

İşlem adı küçük harfle başlıyorsa etkinlik çalıştırılır buna izin verilmesi gerekir. Bu, farklı uygulamalardaki bileşenlerin bir işlemi paylaşmasına izin verir ve kaynak kullanımını anlatır.

<application> öğesinin process özelliğinin değeri, tüm bileşenler için farklı bir varsayılan işlem adı belirleyebilir.

android:relinquishTaskIdentity

Etkinliğin, görevi görür. Kök etkinliğinde bu özelliğin "true" olarak ayarlandığı bir görev, temel etkinliğin yerini alır Intent.

Bir sonraki etkinlikte de bu özellik ayarlanmışsa değerini "true" ifade ederse Intent aynı görevi görebilir. Bu işlem, bu özelliğe sahip bir etkinlikle karşılaşılana kadar her etkinlik için devam eder "false" numaralı telefona. Varsayılan değer "false" değeridir.

"true" olarak ayarlanmış bu özellik, etkinliğin ActivityManager.TaskDescription etiketleri, renkleri ve ve simgeleri Son kullanılanlar ekranında görebilirsiniz.

android:requireContentUriPermissionFromCaller

İletim sırasında bu etkinliği başlatmak için gereken izinleri belirtir içerik URI'leridir. Varsayılan değer none olduğu için belirli bir değer yoktur gerekli. Bu özelliğin ayarlanması, etkinliği kısıtlar . Çağrıyı yapan kişi izin verilmezse etkinlik başlangıcı SecurityException aracılığıyla reddedilir.

Yaptırım işleminin, içindeki içerik URI'leri için geçerli olduğunu unutmayın Intent.getData() Intent.EXTRA_STREAM, ve Intent.getClipData().

'\\;' kullanılarak dize değeri olabilir. '\\n' gibi karakterleri kod dışına alın veya "\\uxxxx" bir unicode karakteri için;

Aşağıdaki sabit değerlerden biri olmalıdır.

Sabit Değer Açıklama
yok 0 Varsayılan ayardır. Belirli bir izin gerekli değildir.
okuma 1 Çağrıcının, iletilen içerik URI'lerine okuma erişimi olmasını zorunlu kılar.
ReadAndWrite 4 Çağrıcının, iletilen içerik URI'lerine hem okuma hem de yazma erişimine sahip olmasını zorunlu kılar.
ReadVeyaYazma 3 Çağrıcının, iletilen içerik URI'lerine okuma veya yazma erişimine sahip olmasını zorunlu kılar.
yazmak 2 Çağrıyıcının, iletilen içerik URI'lerine yazma erişimine sahip olmasını zorunlu kılar.
android:resizeableActivity

Uygulamanın çoklu pencere modunu destekleyip desteklemediğini belirtir. Siz bu özelliği <activity> veya <application> öğesine dokunun.

Bu özelliği "true" olarak ayarlarsanız kullanıcı, etkinliği şurada başlatabilir: Bölünmüş ekran ve serbest biçimli modlar gibi. Özelliği "false" olarak ayarlarsanız uygulama çok pencereli bir ortam için test edilemez veya optimize edilemez. Sistem, etkinliği, uyumluluk modu uygulanmış çok pencere moduna sokmaya devam eder.

Bu özelliğin "false" olarak ayarlanması, Ekranda görünen çoklu pencere modunda diğer uygulamalar (ör. pencere içinde pencere) veya diğer ekranlarda da görüntülenebilir. Dolayısıyla bu işareti ayarlamak, uygulamanızın özel kaynak erişimine sahip.

Uygulamanız API düzeyi 24 veya üstünü hedefliyorsa ve bir değer belirtmezseniz bu özellik için özelliğin değeri varsayılan olarak "true" değerine ayarlanır.

Uygulamanız API düzeyi 31 veya üstünü hedefliyorsa bu özellik küçük ve büyük uygulamalarda farklı çalışır ekranlar:

  • Büyük ekranlar (sw >= 600 dp): Tüm uygulamalar çoklu pencere modunu destekler. Bu özellik, uygulamanın çoklu pencere modunu destekleyip desteklemediği değil, yeniden boyutlandırıp boyutlandıramayacağımızı belirler. Eğer resizeableActivity="false", uygulama gerektiğinde uyumluluk moduna alınır görüntüleme boyutlarına uymasını sağlar.
  • Küçük ekranlar (sw < 600 dp): resizeableActivity="true" ve minimum etkinliğin genişliği ve minimum yüksekliği birden fazla pencere koşullarını karşılamalıdır. çoklu pencere modunu destekler. resizeableActivity="false" ise uygulama etkinliğin minimum genişlik ve yüksekliğinden bağımsız olarak çoklu pencere modunu destekler.

Not: Cihaz üreticileri API düzeyi 31'i geçersiz kılabilir gösterir.

Bu özellik, API düzeyi 24'te eklendi.

Not: Bir görevin kök etkinlik değeri tüm görevde başlatılan başka aktivitelerdir. Yani, projenizin kök etkinliği yeniden boyutlandırılabilirse sistem, bu tablodaki diğer tüm etkinlikleri yeniden boyutlandırabilirsiniz. Kök etkinliği yeniden boyutlandırılamıyorsa yeniden boyutlandırılamaz.

android:screenOrientation

Etkinliğin istenen yönü.

Bir etkinlik ekranın tamamını kapladığında, istenen yön şurada öneri olarak işlev görür: o ekrandaki yönü istenen değerle eşleşecek şekilde değiştirin. Bu da ekranın fiziksel yönden farklı olan ve kullanıcının uygulamayı kullanmaya devam etmesi için cihazı döndürmesi gerekir. Android 12'de (API düzeyi) 31) ve sonraki sürümleri kullanıyorsanız cihaz üreticileri, cihazları tek tek yapılandırabilir. ekran (ör. katlanabilir cihazın tablet boyutundaki ekranı) bir etkinliğin kullanıcının tercih ettiği yönde sinemaskop efektiyle kapatılmasını sağlar. Bu Böylece kullanıcının yönlendirmesine gerek kalmadan Aktivitenin yönü, istenen yönüyle eşleşir. döndürebilir.

Çoklu pencere modunda, istenen yön, görüntü alanının geneli için bir öneri Yönü. Etkinlik sineyboxed, istenen etkinliğe uygulanan sinemaskop efektini etkiler.

Değer, aşağıdaki dizelerden herhangi biri olabilir:

"unspecified" Varsayılan değerdir. Yönü sistem seçer. Politika, ve dolayısıyla belirli bağlamlarda yapılan seçimler, cihazdan cihaza geçebilmektedir.
"behind" Hemen altındaki etkinlikle aynı yöne gösterir.
"landscape" Yatay yön (ekranın yüksekliğinden daha geniştir).
"portrait" Dikey yön (ekran genişliğinden daha uzundur).
"reverseLandscape" Yatay yönlü, normal manzaranın tersi yönde. API düzeyi 9'da eklendi.
"reversePortrait" Dikey yön, normal portrenin tersi yönde. API düzeyi 9'da eklendi.
"sensorLandscape" Yatay yön, ancak cihaza bağlı olarak normal veya ters yatay olabilir. görebilirsiniz. Sensör, kullanıcı sensöre dayalı döndürmeyi kilitlemiş olsa bile kullanılır. API düzeyi 9'da eklendi.
"sensorPortrait" Dikey yön, ancak cihaza bağlı olarak normal veya ters dikey olabilir görebilirsiniz. Sensör, kullanıcı sensöre dayalı döndürmeyi kilitlemiş olsa bile kullanılır. Ancak, olduğu için, baş aşağı döndürmeye izin verilmeyebilir. API düzeyi 9'da eklendi.
"userLandscape" Yatay yön, ancak cihaza bağlı olarak normal veya ters yatay olabilir. sensör ve kullanıcının tercihi. API düzeyi 18'de eklendi.
"userPortrait" Dikey yön, ancak cihaza bağlı olarak normal veya ters dikey olabilir sensör ve kullanıcının tercihi. Ancak cihaz yapılandırmasına bağlı olarak baş aşağı döndürmeye izin verilmeyebilir. API düzeyi 18'de eklendi.
"sensor" Cihazın yön sensörü, yönü belirler. Resmin yönü , kullanıcının cihazı nasıl tuttuğuna bağlıdır. Kullanıcı sayfayı döndürdüğünde değişir. olanak tanır. Ancak bazı cihazlar varsayılan olarak olası dört yönün tümüne dönmez. Alıcı: dört yönün de kullanılması için "fullSensor" kullanın. Sensör, kullanıcı tarafından sensöre dayalı dönmeyi kilitle.
"fullSensor" Cihaz yön sensörü, dört yönden herhangi birinin yönünü belirler. Bu, "sensor" işlevine benzer, ancak olası dört ekran yönünden herhangi birine olanak tanır cihaz normalde neyi desteklediğinden bağımsız olarak gelir. Örneğin, bazı cihazlar normalde ancak ters yatay olarak ayarlayabilirsiniz. API düzeyi 9'da eklendi.
"nosensor" Yön, fiziksel yön sensörüne başvurulmadan belirlenir. Sensör yoksayılır. Bu nedenle, kullanıcının cihazı hareket ettirme şekline göre ekran dönmez.
"user" Kullanıcının geçerli tercih edilen yönü.
"fullUser" Kullanıcı sensöre dayalı döndürmeyi kilitlediyse bu, user ile aynı şekilde davranır. aksi takdirde, fullSensor ile aynı şekilde davranır ve olası dörtten herhangi birine izin verir ekran yönleriyle uyumlu. API düzeyi 18'de eklendi.
"locked" Yönü (hangisi geçerliyse) geçerli dönmesine kilitler. API düzeyi 18'de eklendi.

Not: Yatay veya dikey değerlerden birini bildirdiğinizde, etkinliğin hangi yönde düzenlendiği için kesin bir gereksinim olarak kabul edilir. Belirttiğiniz değer, Google Play gibi hizmetlere göre filtreleme yapılmasını sağladığından uygulamanız yalnızca etkinliklerinizin gerektirdiği yönü destekleyen cihazlarda kullanılabilir. Örneğin, Örneğin, "landscape", "reverseLandscape" veya "sensorLandscape", uygulamanız yalnızca yatay yönde.

Ayrıca açıkça beyan edin: Uygulamanız <uses-feature> ile dikey veya yatay yönde <uses-feature android:name="android.hardware.screen.portrait"/> gibi öğe. Bu bir filtreleme davranışıdır Google Play ve bunu destekleyen diğer hizmetler tarafından sunulmaktadır ve platform uygulamanızın, cihaz yalnızca belirli yönleri desteklediğinde yüklenip yüklenemeyeceğini kontrol edebilirsiniz.

android:showForAllUsers

Cihazın mevcut kullanıcısı şu durumdayken etkinliğin gösterilip gösterilmeyeceği Etkinliği başlatan kullanıcıdan farklı. Bu özelliği ayarlayabilirsiniz. "true" veya "false" gibi değişmez bir değere ya da özelliğini, boole değeri.

Bu özellik, API düzeyi 23'te eklendi.

android:stateNotNeeded
Etkinliğin sonlandırılıp başlatılamayacağı ve başarıyla yeniden başlatılıp başlatılamayacağı başka bir e-posta alırsınız. Yeniden başlatılabiliyorsa "true" önceki durumuna başvurulmadan, önceki durumundaysa "false" durumu gerekli. Varsayılan değer "false" değeridir.

Normalde bir etkinlik, kaynakları korumak için geçici olarak kapatılmadan önce onSaveInstanceState(). yöntemi çağrılır. Bu yöntemde etkinliğin mevcut durumu Bundle nesne (bu daha sonra Etkinlik gerçekleştiğinde onCreate() başlatılır. Bu özellik "true" olarak ayarlanırsa onSaveInstanceState() çağrılamayabilir ve onCreate() testi geçildi Bundle yerine null. Bu durum, başlatılmasıyla ilgili bir sorun ortaya çıktığında.

"true" ayarı, etkinliğin başlamadan önce başlatılabileceği anlamına gelir korunuyor durumu. Örneğin, Ana ekran, bu ayarın kaldırılmasını önlemek için bu ayarı kullanır bir şekilde kilitlenir.

android:supportsPictureInPicture

Etkinliğin desteklenip desteklenmediğini belirtir pencere içinde pencere ekran.

android:taskAffinity

Etkinlikle alakalı olan görev. Şu etkinlikleri içeren etkinlikler: kavramsal olarak aynı göreve ait olup olmadığını "uygulama" çok önemli ayrıntılar içerir. Görevin ilgisi kök etkinliğinin ilgisi ile belirlenir.

Bu yakın ilgi alanı iki şeyi belirler: etkinliğin yeniden üst öğe olarak atandığı görev (bkz. allowTaskReparenting özelliği) ve lansmanda etkinliği barındıran görevi FLAG_ACTIVITY_NEW_TASK ile tıklayın.

Varsayılan olarak, bir uygulamadaki tüm etkinlikler aynı yakın ilgi alanına sahiptir. Siz bu özelliği ayarlayarak farklı şekillerde gruplandırabilir, hatta aynı görevde farklı uygulamalarda tanımlanan aktiviteler. Alıcı: etkinliğin herhangi bir göreve benzemediğini belirtin, bunu boş bir dizeye dönüştürür.

Bu özellik ayarlanmazsa etkinlik, yakın ilgi alanı grubunu devralır belirtiliyor. Bkz. <application>. öğenin taskAffinity özelliğini gönderin. Bir uygulama için varsayılan yakın ilgi alanının adı ad alanı, build.gradle dosyası.

android:theme
Etkinliğin genel temasını tanımlayan bir stil kaynağına referans Bu işlem, etkinliğin bağlamını bu ayarı kullanacak şekilde otomatik olarak ayarlar theme ve şunları da yapabilir: "başlatma"ya neden olur animasyonları daha iyi hale getirmek için tam olarak neye benzediğini göstermektir.

Bu özellik ayarlanmazsa etkinlik, ve genel olarak baştan sona <application>. öğenin theme özelliğini gönderin. Bu özellik de ayarlanmazsa varsayılan sistem teması kullanılır. Daha fazla Stiller ve temalar bölümüne bakın.

android:uiOptions

Bir etkinliğin kullanıcı arayüzü için ek seçenekler. Aşağıdaki değerlerden biri olmalıdır.

DeğerAçıklama
"none"Fazladan kullanıcı arayüzü seçeneği yoktur. Bu, varsayılan ayardır.
"splitActionBarWhenNarrow"Şuraya bir çubuk ekler: ekranın alt kısmına giderek uygulama çubuğunda işlem öğelerini görüntüleyin. işlem çubuğuna Örneğin, telefondaki dikey moddayken yatay alan için sınırlandırılmıştır. Küçük bir resim yerine ekranın üst kısmındaki uygulama çubuğunda görünen işlem öğesi sayısını; uygulama çubuğu işlem öğeleri için üst gezinme bölümüne ve alttaki çubuğa bölün. Bu, müşteri hizmetleri Yalnızca işlem öğeleri için değil, aynı zamanda gezinme ve başlık için de kullanılabilir alan yaratıldı. öğelerini üst sıralarda bulabilirsiniz. Menü öğeleri iki çubuk arasında ayrılmaz. Her zaman gösterilir birlikte.

Uygulama çubuğu hakkında daha fazla bilgi için Uygulama çubuğunu ekleme bölümüne bakın.

Bu özellik, API düzeyi 14'te eklendi.

android:windowSoftInputMode
Etkinliğin ana penceresinin, klavye kısayollarını da kullanabilirsiniz. Bu özelliğin ayarı, şeyler:
  • Etkinlik haline geldiğinde klavyenin gizlenip görünür olup olmayacağı odak noktasıdır.
  • Etkinliğin ana penceresinin yumuşak klavyeye veya içeriğine yer açmak için boyutu küçültüldü Pencerenin bir bölümü üst üste kaplandığında geçerli odağı görünür hale getirmek için klavyeyi kullanın.

Ayar, aşağıdaki tabloda listelenen değerlerden biri veya bir "state..." değeri ve bir "adjust..." kombinasyonu değer. Her iki grupta da birden fazla değer belirlemek (ör. birden çok) "state..." değerleri için tanımlanmamış sonuçlar var. Bağımsız değerler, aşağıdaki örnekte gösterildiği gibi bir dikey çubukla (|) ayrılır:

<activity android:windowSoftInputMode="stateVisible|adjustResize" ... >

Burada belirlenen değerler ("stateUnspecified" ve "adjustUnspecified") temada ayarlanan değerleri geçersiz kılar.

Değer Açıklama
"stateUnspecified" Yazılım klavyesinin gizli veya görünür olup olmadığı belirtilmemiş. Sistem, uygun bir eyalet veya temadaki ayara bağlıdır.

Bu, sanal klavye davranışı için varsayılan ayardır.

"stateUnchanged" Yazılım klavyesi en son olduğu durumda tutulur. (etkinlik öne çıktığında) görünür veya gizli tutun.
"stateHidden" Kullanıcı etkinliği seçtiğinde sanal klavye gizlenir. (kullanıcı olumlu bir şekilde web sitesine gittiğinde) geri dönmek yerine etkin bir etkinlikten kaçının.
"stateAlwaysHidden" Etkinliğin ana penceresi her zaman ekranda gizlenir giriş odağı var.
"stateVisible" Kullanıcı klavyeyi seçtiğinde, sanal klavye görünür hale gelir. etkinlik (kullanıcının olumlu bir şekilde ileri gittiğinde) geri dönmek yerine etkinliğe döndüğünüzde etkinliği'ne dokunun.
"stateAlwaysVisible" Pencere giriş odağını aldığında klavye görünür.
"adjustUnspecified" Etkinliğin ana penceresinin yeniden boyutlandırılıp boyutlandırılmayacağı klavyeye veya içeriğe yer açmak için geçerli odağı ekranda görünür hale getirmek için pencere kaydırmasının düğmesini seçin. Sistem, kullanıcının reklamına göre bu modlardan birini görüntülenip görüntülenmeyeceğini belirleyen düzen görünümleri içeriğini kaydırabilir. Böyle bir görünüm varsa pencere her şeyin daha iyi gitmesini sağlayabileceğini varsayarak daha küçük bir alanda görünür olmasını sağlayın.

Bu, ana pencerenin davranışı için varsayılan ayardır.

"adjustResize" Etkinliğin ana penceresi, her zaman yeni bir etkinlik için klavyedeki klavye kısayollarını kullanabilirsiniz.
"adjustPan" Etkinliğin ana penceresi, yumuşak geçişe yer açmak için yeniden boyutlandırılmaz klavye kısayollarını da kullanabilirsiniz. Bunun yerine, pencerenin içeriği otomatik olarak ekranda hiçbir zaman klavyenin görünmesini engellemeyecek şekilde kaydırın, Kullanıcılar yazdıklarını her zaman görebilir. Bu, genellikle daha az yeniden boyutlandırmaktan daha iyidir, çünkü kullanıcının yumuşak pencerenin belirsiz kısımlarıyla etkileşime girmesini sağlar.

Bu özellik API düzeyi 3'te kullanıma sunuldu.

tanıtıldığı yer:
Şunlar hariç tüm özellikler için API düzeyi 1: noHistory ve windowSoftInputMode, API'ye eklendi 3. seviye.
ayrıca bkz.:
<application>
<activity-alias>