<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:clearTaskOnLaunch=["true" | "false"]
          android:colorMode=[ "hdr" | "wideColorGamut"]
          android:configChanges=["mcc", "mnc", "locale",
                                 "touchscreen", "keyboard", "keyboardHidden",
                                 "navigation", "screenLayout", "fontScale",
                                 "uiMode", "orientation", "density",
                                 "screenSize", "smallestScreenSize"]
          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: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>
içerdiği:
<application>
şunları içerebilir:
<intent-filter>
<meta-data>
<layout>
description:
Uygulamanın görsel kullanıcı arayüzünün bir kısmını uygulayan bir etkinlik (Activity alt sınıfı) tanımlar. Tüm etkinlikler, manifest dosyasında <activity> öğeleriyle temsil edilmelidir. Bildirilmemiş olanlar sistem tarafından görünmez ve hiçbir zaman çalışmaz.
özellikler:
android:allowEmbedded
Özellikle başka bir etkinliğe ait Display gibi bir container'da bulunan alt etkinliklerde, etkinliğin başka bir etkinliğin yerleştirilmiş alt öğesi olarak başlatılabileceğini belirtir. Örneğin, Wear özel bildirimleri için kullanılan etkinlikler bunu bildirir. Böylece Wear, etkinliği başka bir süreçte bulunan bağlam akışında gösterebilir.

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

android:allowTaskReparenting
Etkinliğin, başlatan görevden, bir sonraki görevin ön plana geçeceği zaman olan bir göreve geçip geçemeyeceği. Taşınabiliyorsa "true", başladığı görevde kalıyorsa "false" olur.

Bu özellik ayarlanmazsa <application> öğesinin karşılık gelen allowTaskReparenting özelliği tarafından ayarlanan değer etkinlik için geçerli olur. Varsayılan değer "false" değeridir.

Normalde bir etkinlik başlatıldığında, onu başlatan etkinliğin göreviyle ilişkilendirilir ve tüm ömrü boyunca orada kalır. Bu özelliği, mevcut görevi artık gösterilmediğinde, görev için benzeşimine sahip olan göreve yeniden üstlenilmesi için zorlamak amacıyla kullanabilirsiniz. Genellikle bu, bir uygulamadaki işlemlerin, söz konusu uygulamayla ilişkili ana göreve taşınmasını sağlamak için kullanılır.

Örneğin, bir e-posta iletisi bir web sayfasına bağlantı içeriyorsa bağlantıyı tıkladığınızda sayfayı görüntüleyebilecek bir etkinlik açılır. Bu etkinlik, tarayıcı uygulaması tarafından tanımlanır ancak e-posta görevinin bir parçası olarak başlatılır. Tarayıcı görevi için yeniden üst öğe oluşturulursa bu, tarayıcının bir sonraki en başa geldiği zamanı gösterir ve e-posta görevi tekrar geldiğinde artık görünmez.

Bir etkinliğin yakın ilgi alanı taskAffinity özelliği tarafından tanımlanır. Bir görevin benzeşimi, kök etkinliğinin benzeşimi okunarak belirlenir. Bu nedenle, bir kök etkinlik, tanımı gereği her zaman aynı yakın ilgi alanına sahip bir görevdedir. "singleTask" veya "singleInstance" başlatma modlarına sahip etkinlikler yalnızca bir görevin kökünde olabileceğinden, yeniden üst öğe oluşturma işlemi "standard" ve "singleTop" modlarıyla sınırlıdır. (Ayrıca launchMode özelliğine bakın.)

android:alwaysRetainTaskState
Aktivitenin yapıldığı görev durumunun her zaman sistem tarafından sürdürülüp sürdürülmediği. "true" ise ve "false" sistem belirli durumlarda görevi başlangıç durumuna sıfırlayabiliyorsa. Varsayılan değer "false" değeridir. Bu özellik, yalnızca bir görevin kök etkinliği için anlamlıdır. Diğer tüm etkinlikler için yoksayılır.

Normalde sistem, belirli durumlarda ana ekranda ilgili görevi yeniden seçtiğinde, sistem bir görevi temizleyerek kök etkinliğin üstündeki yığındaki tüm etkinlikleri kaldırır. Genellikle bu, kullanıcı görevi 30 dakika gibi belirli bir süre boyunca ziyaret etmemişse yapılır.

Ancak bu özellik "true" olduğunda kullanıcılar nasıl ulaştıklarına bakılmaksızın her zaman göreve son durumunda döner. Bu, web tarayıcısı gibi kullanıcıların kaybetmek istemedikleri birçok açık sekme gibi birçok durumun bulunduğu uygulamalarda kullanışlıdır.

android:autoRemoveFromRecents
Bu özelliğe sahip etkinlik tarafından başlatılan görevlerin, görevdeki son etkinlik tamamlanana kadar Son Kullanılanlar ekranında kalıp kalmayacağı. true ise görev, Son Kullanılanlar ekranından otomatik olarak kaldırılır. Bu ayar, arayanın FLAG_ACTIVITY_RETAIN_IN_RECENTS kullanımını geçersiz kılar. "true" veya "false" olmak üzere bir boole değeri olmalıdır.
android:banner
İlişkilendirilmiş öğesi için genişletilmiş bir grafik banner sağlayan çekilebilir bir kaynak. Belirli bir etkinlik için varsayılan bir banner sağlamak amacıyla <activity> etiketiyle veya tüm uygulama etkinliklerine yönelik banner sağlamak için <application> etiketiyle kullanın.

Sistem, banner'ı Android TV ana ekranında bir uygulamayı temsil etmek için kullanır. Banner yalnızca ana ekranda görüntülendiğinden, sadece CATEGORY_LEANBACK_LAUNCHER amacını işleyen bir etkinliğe sahip uygulamalar tarafından belirtilir.

Bu özellik, resmi içeren çekilebilir bir kaynağa (ör. "@drawable/banner") referans olarak ayarlanır. Varsayılan banner yok.

Daha fazla bilgi için TV Uygulamalarını Kullanmaya Başlayın bölümündeki Ana ekran banner'ı sağlama bölümüne bakın.

android:clearTaskOnLaunch
Ana ekrandan yeniden başlatıldığında, kök etkinlik hariç tüm etkinliklerin görevden kaldırılıp kaldırılmayacağı. Görev her zaman kök etkinliğine kadar ayrıştırılırsa "true" ve değilse "false". Varsayılan değer "false" değeridir. Bu özellik yalnızca yeni bir görev başlatan etkinlikler (kök etkinliği) 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örevi her başlattığında, görevde en son ne yaptıklarına ve görevden ayrılmak için Geri veya Ana Sayfa düğmesini kullanıp kullanmadıklarına bakılmaksızın kök etkinliğine yönlendirilirler. Değer "false" olduğunda, görev her zaman olmasa da bazı durumlarda etkinliklerden temizlenebilir. Daha fazla bilgi için alwaysRetainTaskState özelliğine bakın.

Kullanıcının ana ekrandan P etkinliğini başlattığını ve oradan Q etkinliğine gittiğini varsayalım. Kullanıcı bir sonraki Ana Ekran'a dokunur ve P etkinliğine geri döner. Normalde kullanıcı Q etkinliğini görür, çünkü P'nin görevinde en son yaptığı şey budur. Bununla birlikte, P bu işareti "true" olarak ayarlarsa kullanıcı ana ekranda P etkinliğini başlattığında onun üzerindeki tüm etkinlikler (bu örnekte Q) kaldırılır. Dolayısıyla kullanıcı göreve döndüğünde yalnızca P'yi görür.

Hem bu özellik hem de allowTaskReparenting "true" ise yeniden üst öğe oluşturabilecek tüm etkinlikler, bu kullanıcıların yakın ilgi alanını paylaştıkları göreve taşınır. Daha sonra, geri 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 olabilir.

hdr ise etkinliğin yüksek bir dinamik aralıkta (cihazın desteklemesi durumunda) görüntülenmesini ister.

wideColorGamut ise etkinliğin uyumlu cihazlarda geniş renk gamı modunda görüntülenmesini ister. Geniş renk gamı modunda pencere, SRGB gamının dışında daha canlı renklerle oluşturulabilir. Cihaz geniş renk gamı oluşturmayı desteklemiyorsa bu özelliğin bir etkisi olmaz. Geniş renk modunda oluşturma hakkında daha fazla bilgi için Geniş renkli içerikle grafikleri iyileştirme konusuna bakın.

android:configChanges
Etkinliğin kendi kendine yaptığı yapılandırma değişikliklerini listeler. Çalışma zamanında bir yapılandırma değişikliği olduğunda etkinlik varsayılan olarak kapanır ve yeniden başlatılır. Ancak bu özellikle bir yapılandırma bildirilmesi, etkinliğin yeniden başlatılmasını engeller. Bunun yerine, etkinlik çalışmaya devam eder ve onConfigurationChanged() yöntemi çağrılır.

Not: Uygulama performansını ve yanıt verme duyarlılığını iyileştirmek için bu özelliği yalnızca özel durumlarda kullanın. Daha fazla bilgi için Yapılandırma değişikliklerini işleme başlıklı makaleye bakın.

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

Değer Açıklama
"density" Kullanıcının farklı bir ekran ölçeği belirtmesi veya farklı bir ekranın etkin olması gibi görüntü yoğunluğunda yapılan bir değişiklik.

API düzeyi 24'te eklendi.

"fontScale" Yazı tipi ölçeklendirme faktöründe yapılan bir değişiklik (kullanıcının yeni bir genel yazı tipi boyutu seçmesi gibi).
"keyboard" Klavye türünde yapılan bir değişiklik (kullanıcının harici bir klavye takması gibi).
"keyboardHidden" Klavye erişilebilirliğinde yapılan bir değişiklik (örneğin, kullanıcının donanım klavyesini göstermesi).
"layoutDirection" Düzen yönünde yapılan bir değişiklik (ör. soldan sağa (LTR) sağdan sola (RTL))).

API düzeyi 17'de eklendi.

"locale" Kullanıcının metnin görüntüleneceği yeni bir dil seçmesi gibi yerel ayarlarda yapılan bir değişiklik.
"mcc" MM'yi güncelleyen bir SIM algılandığında, IMSI mobil ülke kodunda (MM) yapılan değişiklik.
"mnc" MNC'yi güncelleyen bir SIM algılandığında IMSI mobil ağ kodunda (MNC) değişiklik.
"navigation" Gezinme türüne (iztopu veya D-pad) TA değişikliği. Normalde bu durum söz konusu değildir.
"orientation"

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

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

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

Bu değer, geçerli en boy oranıyla göreceli olarak kullanılabilir olan boyutta gerçekleşen bir değişikliği temsil eder. Bu nedenle, kullanıcı yatay ve dikey mod arasında geçiş yaptığında boyut değişir.

API düzeyi 13'te eklendi.

"smallestScreenSize" Fiziksel ekran boyutunda değişiklik.

Bu, yönden bağımsız olarak boyuttaki bir değişikliği temsil eder. Bu nedenle, yalnızca gerçek fiziksel ekran boyutu değiştiğinde (ör. harici bir ekrana geçildiğinde) değişir. Bu yapılandırmada yapılan bir değişiklik, smallestWidth yapılandırmasındaki bir değişikliğe karşılık gelir.

API düzeyi 13'te eklendi.

"touchscreen" Dokunmatik ekranda değişiklik. Normalde bu durum söz konusu değildir.
"uiMode" Kullanıcının cihazı masaya veya araba yuvasına yerleştirmesi ya da gece modunun değişmesi gibi kullanıcı arayüzü modunda yapılan bir değişiklik. Farklı kullanıcı arayüzü modları hakkında daha fazla bilgi için UiModeManager konusuna bakın.

API düzeyi 8'de eklendi.

Tüm bu yapılandırma değişiklikleri, uygulama tarafından görülen kaynak değerlerini etkileyebilir. Bu nedenle, onConfigurationChanged() çağrıldığında, değişikliği doğru bir şekilde işlemek için genellikle görünüm düzenleri ve çekilebilir öğeler dahil tüm kaynakları tekrar almak gerekir.

Not: Çoklu pencere ile ilgili yapılandırma değişikliklerini işlemek için hem "screenLayout" hem de "smallestScreenSize" 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 Farkında olup olmadığı, yani kullanıcı cihazın kilidini açmadan önce çalıştırılıp çalıştırılamayacağı.

Not: Doğrudan Başlatma sırasında, uygulamanızdaki bir etkinlik yalnızca cihazla korunan depolama alanında depolanan verilere erişebilir.

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

android:documentLaunchMode
Bir etkinlik her başlatıldığında yeni bir etkinlik örneğinin göreve nasıl ekleneceğini belirtir. Bu özellik, kullanıcının Son Kullanılanlar ekranında aynı uygulamadan birden fazla dokümanın görünmesine izin verir.

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

Değer Açıklama
"intoExisting" Sistem, temel amacı ComponentName ve veri URI'si ile başlatma amacınınkiyle eşleşen bir görevi arar. Sistem böyle bir görev bulursa, görevi temizler ve yeniden başlatır ve kök etkinliği onNewIntent(android.content.Intent) çağrısını alır. Sistem böyle bir görev bulamazsa yeni bir görev oluşturur.
"always" Etkinlik, doküman için yeni bir görev oluşturur (doküman önceden açılmış olsa bile). Bu işlem, hem FLAG_ACTIVITY_NEW_DOCUMENT hem de FLAG_ACTIVITY_MULTIPLE_TASK işaretlerinin ayarlanmasıyla aynıdır.
"none" Etkinlik, etkinlik için yeni bir görev oluşturmaz. Bu varsayılan değerdir ve yalnızca FLAG_ACTIVITY_NEW_TASK ayarlandığında yeni bir görev oluşturur. Son Kullanılanlar ekranı, etkinliği varsayılan olarak olduğu gibi değerlendirir: Uygulama için, kullanıcının en son çağırdığı etkinlikten devam eden tek bir görev görüntüler.
"never" Niyet FLAG_ACTIVITY_NEW_DOCUMENT içeriyor olsa bile etkinlik, yeni bir dokümanda başlatılmaz. Bunun ayarlanması, FLAG_ACTIVITY_NEW_DOCUMENT ve FLAG_ACTIVITY_MULTIPLE_TASK işaretlerinin davranışını geçersiz kılar (Bunlardan biri etkinlikte ayarlanmışsa) ve Son Kullanılanlar ekranında, uygulama için kullanıcının en son çağırdığı etkinlikten devam eden tek bir görev görüntülenir.

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

android:enabled
Etkinliğin sistem tarafından örneklenip gösterilemeyeceği. Mümkünse "true", izin verilmiyorsa "false" olur. Varsayılan değer "true" değeridir.

<application> öğesinin, etkinlikler de dahil olmak üzere tüm uygulama bileşenleri için geçerli olan kendi enabled özelliği vardır. Sistemin etkinliği örnekleyebilmesi için hem <application> hem de <activity> özelliklerinin her ikisi de varsayılan olarak "true" olmalıdır. İkisinden biri "false" ise örnek oluşturulamaz.

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

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

android:excludeFromRecents
Bu etkinlik tarafından başlatılan görevin Son kullanılanlar ekranından hariç tutulup tutulmadığı. Yani bu etkinlik yeni bir görevin kök etkinliği olduğunda, bu özellik görevin son uygulamalar listesinde görünüp görünmeyeceğini belirler. Görev listeden hariç tutulursa "true"; dahil edilirse "false" olur. Varsayılan değer "false" değeridir.

android:exported
Etkinliğin diğer uygulamaların bileşenleri tarafından başlatılıp başlatılamayacağı:

  • "true" ise etkinliğe tüm uygulamalar tarafından erişilebilir ve tam sınıf adıyla başlatılabilir.
  • "false" ise etkinlik yalnızca aynı uygulamanın bileşenleri, aynı kullanıcı kimliğine sahip uygulamalar veya ayrıcalıklı sistem bileşenleri tarafından başlatılabilir. İntent filtresi olmadığında varsayılan olarak bu değer kullanılır.

Uygulamanızdaki bir etkinlik intent filtreleri içeriyorsa diğer uygulamaların başlatmasına izin vermek için bu öğeyi "true" olarak ayarlayın. Örneğin, etkinlik, uygulamanın ana etkinliğiyse ve category android.intent.category.LAUNCHER içeriyorsa.

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

Bu özellik, bir etkinliğin diğer uygulamalarla karşılaşmasını sınırlamanın tek yolu değildir. İzinler, etkinliği çağırabilecek harici varlıkları sınırlandırmak için de kullanılır. permission özelliğini inceleyin.

android:finishOnTaskLaunch
Kök etkinlik hariç, kullanıcının ana ekranda görevi seçerek görevini yeniden başlatması durumunda etkinliğin mevcut bir örneğinin kapatılıp kapatılmayacağı. Kapatılırsa "true", değilse "false" olur. Varsayılan değer "false" değeridir.

Hem bu özellik hem de allowTaskReparenting "true" ise bu özellik diğerinden önceliklidir. Etkinliğin benzeşimi yoksayılır. Etkinlik yeniden üst öğe haline getirilmez, silinir.

FLAG_ACTIVITY_RESET_TASK_IF_NEEDED ayarlanmazsa bu özellik yoksayılır.

android:hardwareAccelerated
Bu etkinlik için donanım hızlandırmalı oluşturmanın etkinleştirilip etkinleştirilmediği. Etkinleştirilmişse "true" ve etkin değilse "false". Varsayılan değer "false" değeridir.

Android 3.0 ve sonraki sürümlerde, yaygın birçok 2D grafik işleminin performansını artırmak için uygulamalarda donanım hızlandırmalı bir OpenGL oluşturucu kullanılabilir. Donanım hızlandırmalı oluşturucu etkinleştirildiğinde Tuval, Boya, Xfermode, ColorFilter, Gölgelendirici ve Kamera'daki çoğu işlem hızlandırılır.

Bu, çerçevenin OpenGL kitaplıklarını açıkça kullanmayan uygulamalarda bile daha düzgün animasyonlar, daha düzgün kaydırma ve genel yanıt verme hızının artmasını sağlar. Donanım hızlandırmayı etkinleştirmek için gereken kaynakların artması nedeniyle uygulamanız daha fazla RAM tüketir.

OpenGL 2D işlemlerinin tümü hızlandırılmaz. Donanım hızlandırmalı oluşturucuyu etkinleştirirseniz uygulamanızın oluşturucuyu hatasız kullanıp kullanamayacağını test edin.

android:icon
Etkinliği temsil eden simge. Aktivitenin bir temsilinin ekranda gösterilmesi gerektiğinde bu simge kullanıcılara gösterilir. Örneğin, görevleri başlatan etkinliklere ilişkin simgeler, başlatıcı penceresinde görüntülenir. Simgeyle birlikte genellikle bir etiket bulunur. Etiket hakkında bilgi için android:label özelliğine bakın.

Bu özellik, resim tanımını içeren çekilebilir bir kaynağa referans olarak ayarlanır. Ayarlanmazsa bunun yerine, uygulamanın tamamı için belirtilen simge kullanılır. Daha fazla bilgi için <application> öğesinin icon özelliğine bakın.

Etkinliğin simgesi, ister burada ister <application> öğesi tarafından ayarlanmış olsun, aynı zamanda etkinliğin tüm amaç filtreleri için varsayılan simgedir. Daha fazla bilgi için <intent-filter> öğesinin icon özelliğine bakın.

android:immersive
Geçerli etkinliğin yoğun içerik modu ayarını belirler. "true" ise kapsayıcı mod, çalışma zamanında setImmersive() yöntemi kullanılarak değişse bile ActivityInfo.flags üyesi her zaman FLAG_IMMERSIVE bitini ayarlar.
android:label
Etkinlikle ilgili kullanıcı tarafından okunabilir bir etiket. Etiket, etkinlik kullanıcıya sunulduğunda ekranda görüntülenir. Genellikle etkinlik simgesiyle birlikte görüntülenir. Bu özellik ayarlanmazsa bunun yerine, bunun yerine uygulamanın tamamı için ayarlanan etiket kullanılır. <application> öğesinin label özelliğine bakın.

Etkinliğin etiketi, ister burada ister <application> öğesi tarafından ayarlanmış olsun, aynı zamanda etkinliğin tüm intent filtreleri için varsayılan etikettir. Daha fazla bilgi için <intent-filter> öğesinin label özelliğine bakın.

Bu etiket, kullanıcı arayüzündeki diğer dizeler gibi yerelleştirilebilmesi için bir dize kaynağına başvuru olarak ayarlanır. Ancak, uygulamayı geliştirirken kolaylık sağlaması için ham dize olarak da ayarlanabilir.

android:launchMode
Etkinliğin nasıl başlatılacağına dair bir talimat. Bir amacı gerçekleştirmek için etkinlik çağrıldığında ne olacağını belirlemek için Intent nesnelerinde etkinlik işaretleriyle (FLAG_ACTIVITY_* sabit değerler) birlikte çalışan beş mod vardır:

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

Varsayılan mod "standard"'dur.

Aşağıdaki tabloda gösterildiği gibi modlar, bir tarafta "standard" ve "singleTop", diğer tarafta "singleTask", "singleInstance" ve "singleInstancePerTask" etkinlik olacak şekilde iki ana gruba ayrılır. "standard" veya "singleTop" başlatma modundaki bir etkinlik birden çok kez örneklenebilir.

Örnekler herhangi bir göreve ait olabilir ve etkinlik görevinin herhangi bir yerinde bulunabilir. Genellikle, Intent nesnesi FLAG_ACTIVITY_NEW_TASK talimatı içermediği takdirde farklı bir görev seçilirse startActivity() adlı görevde başlatılırlar. Daha fazla bilgi için taskAffinity özelliğine bakın.

Buna karşılık "singleTask", "singleInstance" ve "singleInstancePerTask" etkinliklerinin davranışları farklıdır. "singleInstancePerTask" her zaman etkinlik görevinin kökünde yer alır. Ayrıca cihaz, aynı anda "singleInstance" etkinliğinin yalnızca bir örneğini barındırabilirken FLAG_ACTIVITY_MULTIPLE_TASK veya FLAG_ACTIVITY_NEW_DOCUMENT ayarlandığında "singleInstancePerTask etkinliği farklı görevlerde birden çok kez oluşturulabilir.

"singleTask" başlatma moduna sahip bir etkinlik, "singleInstance" ve "singleInstancePerTask" davranışlarını birleştirir: Etkinlik birden fazla kez örneklenebilir ve aynı taskAffinity öğesinin görevinde herhangi bir yerde bulunabilir. Ancak cihaz, etkinlik görevinin kökünde "singleTask" etkinliğini bulmak için yalnızca bir görev gerçekleştirebilir.

"standard" ve "singleTop" modları bir açıdan birbirinden farklıdır: Bir "standard" etkinliği için yeni bir amaç olduğunda, bu 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, yeni bir amacı işlemek için yeni bir "singleTop" etkinliği örneği de oluşturulabilir.

Bununla birlikte, hedef görevin yığınının üst kısmında zaten mevcut bir etkinlik örneği varsa bu örnek, yeni amacı onNewIntent() çağrısıyla alır. Yeni örnek oluşturulmaz. Aksi takdirde, "singleTop" etkinliğinin mevcut bir örneği hedef görevde ancak yığının tepesinde değilse veya bir yığının tepesinde olup hedef görevde değilse yeni bir örnek oluşturulur ve yığına aktarılır.

Benzer şekilde, kullanıcı geçerli yığındaki bir etkinliğe giderse davranış, üst etkinliğin başlatma modu tarafından belirlenir. Üst etkinlik singleTop başlatma moduna sahipse (veya up amacı FLAG_ACTIVITY_CLEAR_TOP içeriyorsa) üst öğe, yığının en üstüne getirilir ve durumu korunur.

Gezinme amacı, üst etkinliğin onNewIntent() yöntemi tarafından alınır. Üst etkinliğin başlatma modu standard varsa ve up amacı FLAG_ACTIVITY_CLEAR_TOP içermiyorsa hem mevcut etkinlik hem de üst etkinliği yığından çıkar ve gezinme amacını almak için üst etkinliğin yeni bir örneği oluşturulur.

"singleInstance" modu, "singleTask" ve "singleInstancePerTask" modlarından yalnızca bir açıdan farklıdır: "singleTask" veya "singleInstancePerTask" başlatma modu içeren bir etkinlik, "standard" ve "singleTop" etkinlikleri olmak üzere diğer etkinliklerin görev kapsamına alınmasını sağlar.

Öte yandan, "singleInstance" etkinliği başka hiçbir etkinliğin bu görevin bir parçası olmasına izin vermez. Görevdeki tek etkinlik olmalıdır. Başka bir etkinlik başlatırsa bu etkinlik, amaçta FLAG_ACTIVITY_NEW_TASK olduğu gibi farklı bir göreve atanır.

Kullanım örnekleri Başlatma modu Birden fazla örnek mi var? Yorumlar
Çoğu etkinlik için normal başlatmalar "standard" Evet Varsayılan. Sistem her zaman hedef görevdeki etkinliğin yeni bir örneğini oluşturur ve amacı buna yönlendirir.
"singleTop" Koşula bağlı olarak Hedef görevin en üstünde etkinliğin bir örneği zaten bulunuyorsa sistem, etkinliğin yeni bir örneğini oluşturmak yerine amacı onNewIntent() yöntemine çağırarak bu örneğe yönlendirir.
Özel lansmanlar
(genel kullanım için önerilmez)
"singleTask" Koşula bağlı olarak Sistem, yeni bir görevin kök dizininde etkinlik oluşturur veya aynı yakın ilgi alanına sahip mevcut bir görevdeki etkinliği bulur. Etkinliğin bir örneği zaten varsa ve görevin kökündeyse sistem, yeni bir örnek oluşturmak yerine niyeti onNewIntent() yöntemine çağırarak mevcut örneğe yönlendirir.
"singleInstance" Hayır "singleTask" ile aynıdır. Tek fark, sistemin örneği barındıran göreve başka herhangi bir etkinlik başlatmamasıdır. Etkinlik her zaman görevin tek ve tek üyesidir.
"singleInstancePerTask" Koşula bağlı olarak Etkinlik yalnızca görevin kök etkinliği, görevi oluşturan ilk etkinlik olarak çalışabilir. Bu nedenle, bir görevde bu etkinliğin yalnızca bir örneği bulunur. Ancak etkinlik farklı görevlerde birden çok kez gösterilebilir.

Önceki tabloda gösterildiği gibi, "standard" varsayılan moddur ve çoğu etkinlik türü için uygundur. "singleTop" ayrıca birçok etkinlik türü için yaygın ve kullanışlı bir başlatma modudur. Diğer modlar ("singleTask", "singleInstance" ve "singleInstancePerTask") çoğu uygulama için uygun değildir. Bunlar, kullanıcılara muhtemelen yabancı olan ve diğer birçok uygulamadan çok farklı olan bir etkileşim modeline yol açar.

Seçtiğiniz başlatma modu ne olursa olsun, başlatma sırasında ve Geri düğmesini kullanarak diğer etkinliklerden ve görevlerden bu etkinliğe dönerken etkinliğin kullanılabilirliğini test ettiğinizden emin olun.

Başlatma modları ve Intent işaretleri ile etkileşimleri hakkında daha fazla bilgi için Görevler ve arka yığın bölümüne göz atın.

android:lockTaskMode
Cihaz kilit görevi modunda çalışırken sistemin bu etkinliği nasıl sunacağını belirler.

Android, görevleri kilit görevi modu adı verilen kapsamlı, kiosk benzeri bir modda çalıştırabilir. Sistem kilit görevi modunda çalıştığında, cihaz kullanıcıları Home uygulaması izin verilenler listesine eklenmemişse genellikle bildirimleri göremez, izin verilenler listesinde olmayan uygulamalara erişemez veya ana ekrana dönemez.

Sistem kilit görevi modundayken yalnızca bir cihaz politikası denetleyici (DPC) tarafından izin verilenler listesine alınan uygulamalar çalışabilir. Bununla birlikte, sistem ve ayrıcalıklı uygulamalar izin verilenler listesine eklenmeden kilit görevi modunda çalışabilir.

Değer, aşağıdaki R.attr.lockTaskMode dize değerlerinden herhangi biri olabilir:

Değer Açıklama
"normal" Varsayılan değer. Bu, varsayılan değerdir. Görevler, görev kilitleme modunda başlatılmaz, ancak startLockTask() çağrısı yapılarak bu moda yerleştirilebilir.
"never"

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

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

"if_whitelisted" DPC bu pakete DevicePolicyManager.setLockTaskPackages() kullanarak yetki verirse bu mod always ile aynı olur ancak etkinliğin son kilitli görevse bitirilebilmesi için önce stopLockTask() çağrısı yapması gerekir. DPC bu pakete izin vermiyorsa bu mod normal ile aynı olur.
"always"

Bu etkinlikte rootlanmış görevler her zaman görev kilitleme modunda başlatılır. Bu görev başlatıldığında sistem zaten kilit görevi modundaysa yeni görev mevcut görevin yanında başlatılır. Bu modda başlatılan görevler, finish() çağrısı yaparak görev kilitleme modundan çıkabilir.

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

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

android:maxRecents
Son kullanılanlar ekranında bu etkinliğe dayalı maksimum görev sayısıdır. Bu giriş sayısına ulaşıldığında, sistem en az kullanılan örneği Son Kullanılanlar ekranından kaldırır. Geçerli değerler, 1 ile 50 arasındaki tam sayılar veya düşük bellek kapasiteli 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, daha geniş en boy oranına sahip bir cihazda çalışırsa sistem uygulamayı otomatik olarak sinemaskop yapar. Böylece uygulamanın belirtilen maksimum en boy oranında çalışabilmesi için ekranın bazı kısımları kullanılmadan kalır.

Maksimum en boy oranı, cihazın uzun boyutunun ondalık formunun daha kısa boyutuna bölümü olarak ifade edilir. Ö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 1, 0 veya üzeri olmalıdır. Aksi takdirde, sistem ayarlanan değeri yoksayar.

Not: resizeableActivity değeri "true" değerine ayarlanmışsa bu özellik yoksayılır. Bunun nedeni, etkinliğinizin tüm boyutları desteklediği anlamına gelir.

Bu özellik hakkında daha fazla bilgi için Maksimum en boy oranı belirtme bölümüne bakın.

android:multiprocess
Etkinlik örneğinin, etkinliği başlatan bileşen sürecinde başlatılıp başlatılamayacağı. Mümkünse "true" tutarında, değilse "false" tutarındadır. Varsayılan değer "false" değeridir.

Normalde bir etkinliğin yeni örneği, onu tanımlayan uygulamanın işleminde başlatılır. Böylece etkinliğin tüm örnekleri aynı işlemde çalışır. Bununla birlikte, bu işaret "true" olarak ayarlanırsa etkinliğin örnekleri birden fazla işlemde çalışabilir. Böylece, izin verildiğinde sistem, kullanıldığı her yerde örnekler oluşturabilir. İzin verildiğinde, neredeyse hiçbir zaman gerekli veya istenmez bir şey olur.

android:name
Etkinliği uygulayan sınıfın adı, Activity alt sınıfı. Özellik değeri normalde "com.example.project.ExtracurricularActivity" gibi tam nitelikli bir sınıf adıdır. Bununla birlikte, kısaltma olarak, adın ilk karakteri noktaysa (ör. ".ExtracurricularActivity") build.gradle dosyasında belirtilen ad alanının sonuna eklenir.

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

android:noHistory
Kullanıcı etkinlikten ayrıldığında ve etkinlik artık ekranda görünmediğinde etkinliğin finish() yöntemini çağırarak etkinlik yığınından kaldırılıp tamamlanıp tamamlanmadığı. Tamamlandıysa "true", tamamlanmadıysa "false" olur. Varsayılan değer "false" değeridir.

"true" değeri, etkinliğin herhangi bir geçmiş iz bırakmadığı anlamına gelir. Etkinlik, görevin etkinlik yığınında kalmaz, bu nedenle kullanıcı da göreve geri dönemez. Bu durumda, bu etkinlikten bir sonuç için başka bir etkinlik başlatırsanız onActivityResult() hiçbir zaman çağrılmaz.

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

android:parentActivityName
Etkinliğin mantıksal üst öğesinin sınıf adı. Buradaki ad, karşılık gelen <activity> öğesinin android:name özelliğine verilen sınıf adıyla eşleşmelidir.

Sistem, kullanıcı işlem çubuğunda Yukarı düğmesine dokunduğunda hangi etkinliğin başlatılacağını belirlemek için bu özelliği okur. Sistem, bu bilgileri TaskStackBuilder ile gerideki etkinlik yığınını sentezlemek için de kullanabilir.

API düzeyi 4-16'yı desteklemek için üst etkinliği, "android.support.PARENT_ACTIVITY" için bir değer belirten <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 destekleyecek üst etkinliği bildirme hakkında daha fazla bilgi için Gezinmeyi Sağlama bölümünü okuyun.

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

android:persistableMode

Bir etkinlik örneğinin, cihaz yeniden başlatmalarında kapsayıcı bir görev içinde nasıl korunacağını tanımlar.

Bir görevin kök etkinliği, bu özelliğin değerini persistRootOnly olarak ayarlarsa yalnızca kök etkinliği korunur. Aksi takdirde, görevin arka yığınının daha üst düzeylerinde olan etkinlikler incelenir; bu özelliğin değerini persistAcrossReboots olarak ayarlayan tüm etkinlikler korunur.

Bu özelliği kullanırsanız değerini aşağıdakilerden birine ayarlamanız gerekir:

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ğinin başlatma amacı kullanılır.

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

Not: Bu özellik değeri, yalnızca uygulamanızın kök etkinliğinde ayarlanmışsa uygulamanızın davranışını etkiler.

persistAcrossReboots

Bu etkinliğin durumu, kendi persistableMode özelliği persistAcrossReboots olarak ayarlanmış olan arka yığın üzerinde yer alan her bir etkinliğin durumu ile birlikte korunur. Bir etkinlik, persistAcrossReboots olarak ayarlanmış bir persistableMode özelliğine sahip değilse veya Intent.FLAG_ACTIVITY_NEW_DOCUMENT işareti kullanılarak başlatıldıysa bu etkinlik, arka yığının daha üst katmanlarındaki tüm etkinliklerle birlikte korunmaz.

Bir amaç, uygulamanızda persistableMode özelliği persistAcrossReboots olarak ayarlanmış bir etkinlik yüklediğinde, etkinlik onCreate() yönteminde bir PersistableBundle nesnesi alır. Dolayısıyla, persistableMode özelliği persistAcrossReboots olarak ayarlandığı sürece, cihaz yeniden başlatıldığında gerçekleşen etkinliğin durumunu korumak için onSaveInstanceState() kullanabilirsiniz.

Not: Bu özellik değeri, uygulamanızın kök etkinliğinden farklı bir etkinlik üzerinde ayarlanmış olsa bile uygulamanızın davranışını etkiler.

persistNever

Etkinliğin durumu korunmaz.

Not: Bu özellik değeri, yalnızca uygulamanızın kök etkinliğinde ayarlanmışsa uygulamanızın davranışını etkiler.

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

android:permission
Müşterilerin etkinliği başlatmak veya bir amaca yanıt vermek üzere başka bir şekilde elde etmesini sağlamak için alması gereken iznin adı. startActivity() veya startActivityForResult() çağrılarını yapan bir kişiye belirtilen izin verilmezse amacı etkinliğe iletilmez.

Bu özellik ayarlanmazsa <application> öğesinin permission özelliği tarafından ayarlanan izin etkinlik için geçerli olur. Hiçbir özellik ayarlanmazsa etkinlik bir izinle korunmaz.

İzinler hakkında daha fazla bilgi için Uygulama manifesti'ne genel bakışın İzinler bölümüne ve Güvenlik ipuçları'na bakın.

android:process
Etkinliğin çalıştırıldığı sürecin adı. Normalde bir uygulamanın tüm bileşenleri, uygulama için oluşturulan varsayılan bir işlem adında çalışır ve bu özelliği kullanmanız gerekmez. Ancak gerekirse, varsayılan işlem adını bu özellikle geçersiz kılarak uygulama bileşenlerinizi birden fazla işleme yayabilirsiniz.

Bu özelliğe atanan ad iki nokta üst üste (:) ile başlıyorsa gerektiğinde uygulamaya özel yeni bir işlem oluşturulur ve etkinlik bu işlemde çalışır.

İşlem adı küçük harfle başlıyorsa etkinlik, izni olması koşuluyla o ada sahip global bir işlemde çalışır. Bu, farklı uygulamalardaki bileşenlerin bir işlemi paylaşmasına olanak tanıyarak kaynak kullanımını azaltır.

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

android:relinquishTaskIdentity
Etkinliğin, görev tanımlayıcılarını görev yığınında üzerindeki bir etkinliğe bırakıp bırakmadığı. Bu özelliğin kök etkinliği "true" olarak ayarlanmış bir görev, Intent tabanını görevdeki bir sonraki etkinliğinkiyle değiştirir.

Bir sonraki etkinlikte de bu özellik "true" değerine ayarlanmışsa aynı görevde başlattığı her türlü etkinliğe Intent temel değeri verilir. Bu işlem, bu özelliğin "false" olarak ayarlandığı bir etkinlik karşılaşılana kadar her etkinlik için devam eder. Varsayılan değer "false" değeridir.

Bu özellik "true" olarak ayarlandığında, etkinlik ActivityManager.TaskDescription'ı kullanarak Son aramalar ekranındaki etiketleri, renkleri ve simgeleri değiştirebilir.

android:resizeableActivity

Uygulamanın çoklu pencere modunu destekleyip desteklemediğini belirtir. Bu özelliği <activity> veya <application> öğesinde ayarlayabilirsiniz.

Bu özelliği "true" olarak ayarlarsanız kullanıcı, etkinliği bölünmüş ekran ve serbest biçim modlarında başlatabilir. Özelliği "false" olarak ayarlarsanız uygulama, çoklu pencereli bir ortam için test edilemez veya optimize edilemez. Sistem, uyumluluk modu uygulanmış halde etkinliği çoklu pencere moduna geçirmeye devam edebilir.

Bu özelliğin "false" olarak ayarlanması, ekranda görünür olan çoklu pencere modundaki (pencere içinde pencere modu veya diğer ekranlar gibi) başka uygulamaların olmayacağını garanti etmez. Bu nedenle, bu işaretin ayarlanması uygulamanızın özel kaynak erişimine sahip olduğu anlamına gelmez.

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

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

  • Büyük ekranlar (sw >= 600 dp): Tüm uygulamalar çoklu pencere modunu destekler. Bu özellik, uygulamanın çoklu pencere modunu destekleyip desteklemediğini değil, yeniden boyutlandırılıp boyutlandırılamayacağını gösterir. resizeableActivity="false" ise uygulama, görüntüleme boyutlarına uyması gerektiğinde uyumluluk moduna alınır.
  • Küçük ekranlar (sw < 600dp): resizeableActivity="true" ve etkinliğin minimum genişliği ve minimum yüksekliği çoklu pencere koşulları kapsamındaysa uygulama, çoklu pencere modunu destekler. resizeableActivity="false" ise uygulama, etkinlik minimum genişliği ve yüksekliğine bakılmaksızın çoklu pencere modunu desteklemez.

Not: Cihaz üreticileri, API düzeyi 31 davranışını geçersiz kılabilir.

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

Not: Bir görevin kök etkinliği değeri, görevde başlatılan tüm ek etkinliklere uygulanır. Yani bir görevin kök etkinliği yeniden boyutlandırılabilirse sistem, görevdeki diğer tüm etkinlikleri yeniden boyutlandırılabilir olarak değerlendirir. Kök etkinliği yeniden boyutlandırılabilir değilse görevdeki diğer etkinlikler yeniden boyutlandırılabilir değildir.

android:screenOrientation

Etkinliğin cihaz ekranındaki yönü.

Android 7.0 (API düzeyi 24) ve sonraki sürümlerde, etkinlik çoklu pencere modundaysa sistem bu özellikte yapılan çalışma zamanı değişikliklerini yoksayar.

Cihaz üreticileri, Android 12 (API düzeyi 31) ve sonraki sürümlerde cihaz ekranlarını (ör. katlanabilir cihazların tablet boyutlu ekranı gibi) yön spesifikasyonunu göz ardı edecek ve dikey olarak belirtilen uygulamayı yatay ekranlarda yalnızca dik ancak yatay kenarlıklar oluşturacak şekilde yapılandırabilirler. Bu da uygulamanın dikey en boy oranına sahip olmasını sağlar ancak uygulamayı daha iyi kullanılabilirlik için yönlendirir.

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

"unspecified" Varsayılan değer. Yönü sistem seçer. Sistemin kullandığı politika ve bu nedenle, belirli bağlamlarda yapılan seçimler cihazdan cihaza farklılık gösterebilir.
"behind" Etkinlik yığınında hemen altında bulunan etkinlikle aynı yön.
"landscape" Yatay yön (ekranın genişliğinden daha geniştir).
"portrait" Dikey yön (ekranın yüksekliği geniş olduğundan daha uzundur).
"reverseLandscape" Normal yatay görünümün tersi yönde yatay yön. API düzeyi 9'da eklendi.
"reversePortrait" Dikey yön, normal portrenin aksi yönünde olmalıdır. API düzeyi 9'da eklendi.
"sensorLandscape" Yatay yön, ancak cihaz sensörüne bağlı olarak normal veya ters yatay olabilir. Kullanıcı sensöre dayalı dönüşü kilitlemiş olsa bile sensör kullanılır. API düzeyi 9'da eklendi.
"sensorPortrait" Dikey yön, ancak cihaz sensörüne bağlı olarak normal veya ters dikey olabilir. Kullanıcı sensöre dayalı dönüşü kilitlemiş olsa bile sensör kullanılır. Ancak, cihaz yapılandırmasına bağlı olarak, ters döndürmeye izin verilmeyebilir. API düzeyi 9'da eklendi.
"userLandscape" Yatay yön, ancak cihaz sensörüne ve kullanıcının tercihine bağlı olarak normal veya ters yatay olabilir. API düzeyi 18'de eklendi.
"userPortrait" Dikey yön, ancak cihaz sensörüne ve kullanıcının tercihine bağlı olarak normal veya ters dikey olabilir. Ancak, cihazın yapılandırmasına bağlı olarak, baş aşağı döndürmeye izin verilmeyebilir. API düzeyi 18'de eklendi.
"sensor" Yönü, cihazın yön sensörü belirler. Ekranın yönü, kullanıcının cihazı nasıl tuttuğuna bağlıdır. Kullanıcı cihazı döndürdüğünde değişir. Ancak bazı cihazlar varsayılan olarak dört olası yönün hepsine döndürülmez. Dört yönün tümünü kullanmak için "fullSensor" kullanın. Kullanıcı sensöre dayalı dönüşü kilitlemiş olsa bile sensör kullanılır.
"fullSensor" Cihaz yön sensörü, dört yönden herhangi birinin yönünü belirler. Bu, "sensor" özelliğine benzer. Tek fark, cihazın normalde neyi desteklediğinden bağımsız olarak olası dört ekran yönünden herhangi birine olanak tanır. Örneğin, bazı cihazlar normalde ters dikey veya ters yatay görünümü kullanmaz, ancak bu yönler bu doğrultuda etkinleştirilir. API düzeyi 9'da eklendi.
"nosensor" Yön, fiziksel yön sensörüne bakılmadan belirlenir. Sensör yok sayılır. Bu nedenle ekran, kullanıcının cihazı nasıl hareket ettirdiğine bağlı olarak dönmez.
"user" Kullanıcının geçerli tercih ettiği yön.
"fullUser" Kullanıcı sensöre dayalı dönüşü kilitlediyse bu da user ile aynı şekilde davranır. Aksi takdirde fullSensor ile aynı şekilde davranır ve olası dört ekran yönünden herhangi birine izin verir. API düzeyi 18'de eklendi.
"locked" Yönü, her neyse, geçerli dönüşüne kilitler. API düzeyi 18'de eklendi.

Not: Yatay veya dikey değerlerden birini bildirdiğinizde bu, etkinliğin çalışacağı yön için kesin bir gereklilik olarak kabul edilir. Tanımladığınız değer, Google Play gibi hizmetlere göre filtrelemeyi etkinleştirir. Böylece uygulamanız yalnızca işlemlerinizin gerektirdiği yönü destekleyen cihazlar tarafından kullanılabilir. Örneğin, "landscape", "reverseLandscape" veya "sensorLandscape" değerlerinden birini belirtirseniz uygulamanız yalnızca yatay yönü destekleyen cihazlarda kullanılabilir.

Ayrıca, <uses-feature> Öğesi ile uygulamanızın dikey veya yatay yön gerektirdiğini (ör. <uses-feature android:name="android.hardware.screen.portrait"/>) açıkça belirtin. Bu, Google Play ve onu destekleyen diğer hizmetler tarafından sağlanan bir filtreleme davranışıdır. Bir cihaz yalnızca belirli yönleri desteklediğinde uygulamanızın yüklenip yüklenemeyeceği platformun kendisi tarafından kontrol edilmez.

android:showForAllUsers

Cihazın geçerli kullanıcısı, etkinliği başlatan kullanıcıdan farklı olduğunda etkinliğin gösterilip gösterilmeyeceği. Bu özelliği "true" ya da "false" gibi sabit bir değere veya boole değeri içeren bir kaynak ya da tema özelliğine ayarlayabilirsiniz.

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

android:stateNotNeeded
Etkinliğin durumu kaydedilmeden sonlandırılıp başarıyla yeniden başlatılıp başlatılamayacağı Önceki durumuna bakılmadan yeniden başlatılabiliyorsa "true" ve önceki durumu gerekliyse "false". Varsayılan değer "false" değeridir.

Normalde, bir etkinlik kaynak tasarrufu sağlamak için geçici olarak kapatılmadan önce onSaveInstanceState() yöntemi çağrılır. Bu yöntemde, etkinliğin mevcut durumu bir Bundle nesnesinde depolanır ve daha sonra etkinlik yeniden başlatıldığında onCreate() işlevine iletilir. Bu özellik "true" değerine ayarlanırsa onSaveInstanceState() çağrılmayabilir ve etkinlik ilk kez başladığında Bundle yerine onCreate() null iletilir.

"true" ayarı, etkinliğin saklanmadan yeniden başlatılabileceği anlamına gelir. Örneğin, Ana ekranı görüntüleyen etkinlik, herhangi bir nedenle kilitlendiğinde kaldırılmamasını sağlamak için bu ayarı kullanır.

android:supportsPictureInPicture

Etkinliğin pencere içinde pencere ekranını destekleyip desteklemediğini belirtir.

android:taskAffinity
Etkinliğin yakın ilgi alanına sahip olduğu görev. Aynı yakın ilgi alanına sahip etkinlikler, kullanıcı açısından kavramsal olarak aynı göreve, aynı "uygulamaya" aittir. Bir görevin benzeşimi, kök etkinliğinin yakınlığıyla belirlenir.

Yakın ilgi alanı iki şeyi belirler: etkinliğin yeniden üst öğesinin eklendiği görev (allowTaskReparenting özelliğine bakın) ve FLAG_ACTIVITY_NEW_TASK işaretiyle başlatıldığında etkinliği barındıran görev.

Varsayılan olarak, bir uygulamadaki tüm etkinlikler aynı yakın ilgi alanına sahiptir. Bunları farklı şekilde gruplandırmak için bu özelliği ayarlayabilir, hatta farklı uygulamalarda tanımlanan etkinlikleri aynı görev içine yerleştirebilirsiniz. Etkinliğin herhangi bir göreve yakınlığı olmadığını belirtmek için bunu boş bir dizeye ayarlayın.

Bu özellik ayarlanmazsa etkinlik, uygulama için ayarlanan yakın ilgi alanını devralır. <application> öğesinin taskAffinity özelliğine bakın. Bir uygulama için varsayılan yakın ilgi alanının adı, build.gradle dosyasında ayarlanan ad alanıdır.

android:theme
Etkinliğin genel temasını tanımlayan bir stil kaynağı referansı. Bu işlem, etkinliğin bağlamını bu theme kullanılacak şekilde otomatik olarak ayarlar ve ayrıca etkinliğin gerçekte göründüğü şekliyle daha iyi eşleşmesi için etkinlik başlamadan önce animasyonların "başlatılmasına" neden olabilir.

Bu özellik ayarlanmazsa etkinlik, <application> öğesinin theme özelliğinden bir bütün olarak uygulama için belirlenen tema kümesini devralır. Bu özellik de ayarlanmazsa varsayılan sistem teması kullanılır. Daha fazla bilgi için Stiller ve temalar konusuna 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"Ekstra kullanıcı arayüzü seçeneği yoktur. Bu, varsayılan ayardır.
"splitActionBarWhenNarrow"İşlem öğelerini uygulama çubuğunda (işlem çubuğu olarak da bilinir) görüntülemek için ekranın alt kısmına bir çubuk ekler. Bu çubuk, telefondaki dikey modda olduğu gibi yatay alan kısıtlandığında yapılır. Uygulama çubuğu, ekranın üst kısmındaki uygulama çubuğunda görünen az sayıda işlem öğesi yerine, işlem öğeleri için üst gezinme bölümüne ve alt çubuğa bölünmüştür. Bu, yalnızca işlem öğeleri için değil, aynı zamanda üstteki gezinme ve başlık öğeleri için de makul bir alan bırakılacağı anlamına gelir. Menü öğeleri iki çubuğa bölünmüyor. Her zaman bir arada görünürler.

Uygulama çubuğu hakkında daha fazla bilgi için Uygulama çubuğunu ekleme konusuna bakın.

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

android:windowSoftInputMode
Etkinlik ana penceresinin, dokunmatik klavyeyi içeren pencereyle nasıl etkileşimde bulunduğu. Bu özelliğin ayarı iki şeyi etkiler:
  • Etkinlik, kullanıcının dikkatinin odağı haline geldiğinde sanal klavyenin gizli veya görünür olup olmadığı.
  • Pencerenin bir kısmı dokunmatik klavye tarafından kaplandığında geçerli odağın görünür olması için, etkinlik ana penceresinin ekran boyutunu kullanarak sanal klavyeye veya içindekilere yer açıp açmayacağı.

Ayar, aşağıdaki tabloda listelenen değerlerden biri veya bir "state..." değeri ile bir "adjust..." değerinin kombinasyonu olmalıdır. Her iki grupta da birden çok "state..." değeri ayarlamak gibi birden çok değerin ayarlanması tanımlanmamış sonuçlar doğurur. 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 ayarlanan değerler ("stateUnspecified" ve "adjustUnspecified" dışındaki değerler) temada ayarlanan değerleri geçersiz kılar.

Değer Açıklama
"stateUnspecified" Sanal klavyenin gizli veya görünür olup olmadığı belirtilmemiştir. Sistem uygun bir durum seçer veya temadaki ayarı baz alır.

Bu, sanal klavyenin çalışma biçimi için varsayılan ayardır.

"stateUnchanged" Etkinlik öne çıktığında sanal klavye en son olduğu durumda, görünür veya gizlenmiş olarak tutulur.
"stateHidden" Sanal klavye, kullanıcı etkinliği seçtiğinde (yani kullanıcı başka bir etkinlikten ayrılırken geri gitmek yerine, olumlu bir şekilde etkinliğe doğru ilerlediğinde) gizlenir.
"stateAlwaysHidden" Sanal klavye, etkinliğin ana penceresinde giriş odağı olduğunda her zaman gizlidir.
"stateVisible" Sanal klavye, kullanıcı etkinliği seçtiğinde (yani kullanıcı başka bir etkinlikten ayrılırken geri gitmek yerine, olumlu bir şekilde etkinliğe doğru ilerlediğinde) görünür hale gelir.
"stateAlwaysVisible" Pencere giriş odağını aldığında sanal klavye görünür hale gelir.
"adjustUnspecified" Etkinlik ana penceresinin, yazılım klavyesi için yer açmak üzere mi, yoksa geçerli odağı ekranda görünür yapmak için pencere kaydırma içeriğinin mi yeniden boyutlandırılacağı belirlenemez. Sistem, pencere içeriğinde içeriğin kaydırılabilen düzen görünümleri olup olmamasına göre bu modlardan birini otomatik olarak seçer. Böyle bir görünüm varsa, kaydırma işleminin pencere içeriğinin daha küçük bir alan içinde görünmesini sağlayabileceği varsayılarak pencere yeniden boyutlandırılır.

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

"adjustResize" Etkinliğin ana penceresi, ekranda sanal klavyeye yer açmak için her zaman yeniden boyutlandırılır.
"adjustPan" Etkinliğin ana penceresi, sanal klavyeye yer açacak şekilde yeniden boyutlandırılmaz. Bunun yerine, pencerenin içeriği otomatik olarak kaydırılır. Böylece, geçerli odak hiçbir zaman klavye tarafından engellenmez ve kullanıcılar her zaman yazdıklarını görebilir. Bu işlem, genellikle yeniden boyutlandırmadan daha az tercih edilir, çünkü pencerenin gizlenmiş bölümlerine ulaşmak ve etkileşimde bulunmak için kullanıcının yazılım klavyesini kapatması gerekebilir.

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

şurada kullanıma sunuldu:
API düzeyi 3'e eklenen noHistory ve windowSoftInputMode dışındaki tüm özellikler için API düzeyi 1.
ayrıca bakın:
<application>
<activity-alias>