<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:
Uygulamanın görsel kullanıcı arayüzünün bir bölümünü uygulayan bir etkinlik (Activity alt sınıfı) tanımlar. Tüm etkinlikler, manifest dosyasında <activity> öğeleriyle temsil edilmelidir. Bildirilmeyen öğeler sistem tarafından görünmez ve hiçbir zaman çalışmaz.
özellikler:
android:allowEmbedded

Özellikle çocuğun bir kapsayıcıda yaşadığı durumlarda (ör. başka bir etkinliğin sahibi olduğu Display), etkinliğin başka bir etkinliğin yerleşik alt öğesi olarak başlatılabileceğini belirtir. Örneğin, Wear özel bildirimleri için kullanılan etkinliklerde bu durum belirtilir. Böylece Wear, etkinliği başka bir işlemde bulunan bağlam akışında gösterebilir.

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

android:allowTaskReparenting
Etkinliğin başlatıldığı görevden, ilgisinin olduğu göreve bir sonraki aşamaya taşınıp taşınmayacağı. Hareket edebilirse "true", başladığı görevle devam ediyorsa "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, o aktiviteyi başlatan aktivitenin göreviyle ilişkilendirilir ve süreç boyunca orada kalır. Bu özelliği, mevcut görevi artık gösterilmediğinde, ilgi gösterdiği göreve yeniden üst öğe olmaya zorlamak için kullanabilirsiniz. Genellikle bu, uygulama etkinliklerinin bu uygulamayla ilişkili ana göreve taşınması için kullanılır.

Örneğin, bir e-posta iletisi bir web sayfasının bağlantısını içeriyorsa bu bağlantıyı tıkladığınızda sayfayı görüntüleyebilen 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. Yeniden üst öğe olarak tarayıcı görevi gösteriliyorsa, tarayıcının bir sonraki öne çıktığında görünür ve e-posta görevi tekrar gelince yok olur.

Bir etkinliğin yakın ilgi alanı, taskAffinity özelliğiyle tanımlanır. Bir görevin ilişkisi, görevin kök etkinliğinin ilgi düzeyi okunarak belirlenir. Dolayısıyla, kök etkinliği tanımı gereği her zaman aynı yakın ilgi alanına sahip bir görevin içindedir. "singleTask" veya "singleInstance" başlatma modları olan etkinlikler yalnızca bir görevin kökünde olabileceği için yeniden üst öğe atama "standard" ve "singleTop" modlarıyla sınırlıdır. (launchMode özelliğine de bakın.)

android:alwaysRetainTaskState
Etkinliğin bulunduğu görevin durumu her zaman sistem tarafından yönetilir. Ayarlanmışsa "true" ve sistemin belirli durumlarda görevi ilk durumuna sıfırlayabilirse "false". 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, kullanıcının ana ekrandan yeniden seçtiği belirli durumlarda bir görevi temizleyerek kök etkinliğin üzerindeki 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ından bağımsız olarak göreve her zaman son durumunda geri döner. Bu özellik, kullanıcıların kaybetmek istemediği birçok durum (ör. birden çok açık sekme) olan web tarayıcısı gibi uygulamalarda faydalı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, arayanın FLAG_ACTIVITY_RETAIN_IN_RECENTS kullanımını geçersiz kılar. "true" veya "false" boole değeri olmalıdır.
android:banner
İlişkilendirilmiş öğesi için genişletilmiş bir grafik banner sağlayan çekilebilir kaynak. Belirli bir etkinlik için varsayılan banner sağlamak amacıyla <activity> etiketiyle, tüm uygulama etkinlikleri için banner sağlamak istiyorsanız <application> etiketiyle birlikte kullanın.

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

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

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

android:canDisplayOnRemoteDevices

Etkinliğin, Android yüklü olan veya olmayan uzak bir cihazda görüntülenip görüntülenemeyeceğini belirtir. "true" veya "false" gibi bir boole değeri olmalıdır.

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

android:clearTaskOnLaunch
Ana ekrandan yeniden başlatıldığında, kök etkinliği hariç tüm etkinliklerin görevden kaldırılıp kaldırılmayacağı. Görev her zaman kök etkinliğiyle sınırlandırıldıysa "true", değilse "false". Varsayılan değer "false" değeridir. Bu özellik yalnızca yeni bir görev (kök etkinlik) başlatan etkinlikler 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, görevde en son ne yaptıklarına ve görevden ayrılmak için Geri ya da 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 bazı durumlarda etkinliklerden temizlenebilir, ancak her zaman mümkün değildir. Daha fazla bilgi için alwaysRetainTaskState özelliğine bakın.

Kullanıcının ana ekrandan P etkinliğini başlattığını ve sonra da Q etkinliğine gittiğini varsayalım. Kullanıcı daha sonra Ana Sayfa'ya dokunur ve P etkinliğine geri döner. Normalde kullanıcı, P'nin görevindeki en son yaptığı işlem olduğu için Q etkinliğini görür. Ancak, P bu işareti "true" olarak ayarlarsa kullanıcı ana ekrandan P etkinliğini başlattığında bunun üst kısmındaki tüm etkinlikler (bu durumda Q) kaldırılır. Bu nedenle kullanıcı, göreve geri dönerken yalnızca P'yi görür.

Hem bu özellik hem de allowTaskReparenting "true" ise yeniden üst öğe olarak ayarlanabilecek tüm etkinlikler, benzerliklerini paylaştıkları göreve taşınır. 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 değeri gösteriliyorsa cihazın desteklemesi durumunda etkinliğin yüksek dinamik bir aralıkta görüntülenmesini ister.

wideColorGamut ise etkinliğin uyumlu cihazlarda geniş renk gamı modunda görüntülenmesini ister. Geniş renk gamı modunda, daha canlı renkler görüntülemek için SRGB aralığı dışında pencereler oluşturulabilir. Cihaz, geniş renk gamı oluşturmayı desteklemiyorsa bu özelliğin herhangi bir etkisi olmaz. Geniş renk modunda oluşturma hakkında daha fazla bilgi için Geniş renkli içerikle grafikleri geliştirme bölümüne bakın.

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

Not: Bu özelliği yalnızca özel durumlarda uygulama performansını ve yanıt verme yeteneğini iyileştirmek için kullanın. 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ılır (ör. "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"

Kullanıcının farklı bir ekran ölçeği belirtmesi veya farklı bir ekranın etkin olması gibi durumlarda 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 değişiklik (ör. kullanıcının yeni bir genel yazı tipi boyutu seçmesi).
"fontWeightAdjustment" Yazı tipi ağırlığı artışı değişti.
"grammaticalGender" Dilin dil bilgisine göre cinsiyeti değişti. Bkz. GrammaticalInflectionManager.

API düzeyi 34'te eklendi.

"keyboard" Klavye türünde yapılan bir değişiklik (ör. kullanıcının harici bir klavye takması).
"keyboardHidden" Klavye erişilebilirliğinde değişiklik (ör. kullanıcının donanım klavyesini açması).
"layoutDirection"

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

API düzeyi 17'de eklendi.

"locale" Yerel ayarda yapılan bir değişiklik; örneğin, kullanıcının metnin gösterileceği yeni bir dili seçmesi.
"mcc" MM'yi güncelleyen bir SIM algılandığında IMSI mobil ülke kodunda (MM) yapılan değişiklik.
"mnc" SIM algılandığında, MNC'yi güncelleyen IMSI mobil ağ kodunda (MNC) yapılan değişiklik.
"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 Android 3.2 (API düzeyi 13) veya sonraki sürümleri hedefliyorsa "screenLayout" ve "screenSize" yapılandırmalarını da bildirin. Cihaz dikey ve yatay yönler arasında geçiş yaptığında ekran düzeni ve ekran boyutu değişebileceğinden.

"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ına kıyasla o anda kullanılabilir olan boyutta bir değişiklik olduğunu gösterir. Dolayısıyla, kullanıcı yatay ve dikey mod arasında geçiş yaptığında değişiklik olur.

API düzeyi 13'e eklendi.

"smallestScreenSize"

Fiziksel ekran boyutunda değişiklik.

Bu durum, 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. harici ekrana geçiş yapmak) değişir. Bu yapılandırmada yapılan bir değişiklik, smallestWidth yapılandırmasında bir değişikliğe karşılık gelir.

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 cihazı masaya veya araç yuvasına yerleştirmesi ya da gece modunun değişmesi. Farklı kullanıcı arayüzü modları hakkında daha fazla bilgi için UiModeManager öğesine bakın.

API düzeyi 8'e eklendi.

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

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 kullanıcı cihazın kilidini açmadan önce çalışıp çalışamadığı.

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

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 Son kullanılanlar ekranında aynı uygulamaya ait birden fazla dokümanını görmesine izin verir.

Bu özelliğin dört değeri vardır. Kullanıcı, uygulama içeren bir dokümanı açtığında aşağıdaki etkiler ortaya çıkar:

Değer Açıklama
"intoExisting" Sistem, temel amacın ComponentName ve veri URI'si, başlatma amacınınkilerle eşleşen bir görev arar. Sistem böyle bir görev bulursa görevi temizler ve kök etkinliği onNewIntent(android.content.Intent) çağrısını alarak yeniden başlatılır. 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, FLAG_ACTIVITY_NEW_DOCUMENT ve FLAG_ACTIVITY_MULTIPLE_TASK işaretinin ayarlanmasıyla aynıdır.
"none" Etkinlik, söz konusu etkinlik için yeni bir görev oluşturmaz. Bu, yalnızca FLAG_ACTIVITY_NEW_TASK ayarlandığında yeni bir görev oluşturan varsayılan değerdir. Son Kullanılanlar ekranı, etkinliği varsayılan olarak olduğu gibi ele alır: Uygulama için tek bir görev görüntülenir ve kullanıcının en son çağırdığı etkinlikten devam ettirilir.
"never" Amaç FLAG_ACTIVITY_NEW_DOCUMENT içerse bile etkinlik yeni bir dokümanda başlatılmaz. Bu ayarın ayarlanması, FLAG_ACTIVITY_NEW_DOCUMENT ve FLAG_ACTIVITY_MULTIPLE_TASK işaretlerinin davranışını (bunlardan biri etkinlik içinde ayarlanmışsa ve Son Kullanılanlar ekranında uygulama için tek bir görev gösterirse ve bu görev, kullanıcının en son çağırdığı etkinlikten devam eder) geçersiz kılar.

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 örneklenebilir olup olmadığı. Mümkünse "true", değilse "false" olur. Varsayılan değer "true" değeridir.

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

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ın tahmine dayalı geri hareketlerine taşınmasını daha kolay 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ı yoksayması talimatı verilir.

android:excludeFromRecents

Bu etkinlik tarafından başlatılan görevin Son kullanılanlar ekranından hariç tutulup tutulmayacağı. 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ç tutulduysa "true", dahil edildiyse ise "false" olur. Varsayılan değer "false" değeridir.

android:exported

Etkinliğin başka uygulamaların bileşenleri tarafından başlatılıp başlatılamayacağı:

  • "true" ise etkinliğe tüm uygulamalardan erişilebilir ve etkinliğin tam sınıf adıyla başlatılabilir.
  • "false" değerine ayarlanırsa 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. Intent filtresi olmadığında, varsayılan değer budur.

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 atar.

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

android:finishOnTaskLaunch
Kullanıcı ana ekranda görevi seçerek görevini yeniden başlattığında, kök etkinliği hariç etkinliğin mevcut bir örneğinin kapatılıp kapatılmayacağı. Kapalıysa "true", kapalıysa "false" olur. Varsayılan değer "false" değeridir.

Bu özellik ve allowTaskReparenting özelliklerinin her ikisi de "true" ise bu özellik diğerinden üstün olur. Etkinliğin benzeşimi yoksayı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
Bu etkinlik için donanım hızlandırmalı oluşturmanın etkin olup olmadığı. Etkinse "true", değilse "false". Varsayılan değer "false" değeridir.

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

Bu sayede, çerçevenin OpenGL kitaplıklarını açıkça kullanmayan uygulamalar için bile genel olarak daha yumuşak animasyonlar, daha akıcı kaydırma ve daha iyi yanıt kalitesi elde edilir. 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 tamamı 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 bir simge. Bu simge, ekranda etkinliğin temsil edilmesi gerektiğinde kullanıcılara gösterilir. Örneğin, görevleri başlatan etkinliklerin simgeleri, başlatıcı penceresinde görüntülenir. Simgenin yanında 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. Politika 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.

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

android:immersive
Geçerli etkinlik için yoğun içerik modu ayarını ayarlar. "true" değerindeyse yoğun içerik modu, setImmersive() yöntemi kullanılarak çalışma zamanında değişse bile her zaman ActivityInfo.flags üyesinin FLAG_IMMERSIVE biti ayarlanmış olur.
android:label

Etkinlik için kullanıcı tarafından okunabilir bir etiket. Etkinlik, kullanıcıya temsil edildiğinde etiket ekranda gösterilir. Genellikle etkinlik simgesiyle birlikte görüntülenir. Bu özellik ayarlanmazsa 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, etkinliğin tüm intent filtreleri için varsayılan etikettir. Daha fazla bilgi için <intent-filter> öğesinin label özelliğine bakın.

Etiket, bir dize kaynağına başvuru olarak ayarlanır. Böylece, kullanıcı arayüzündeki diğer dizeler gibi yerelleştirilebilir. Ancak uygulamayı geliştirirken kolaylık sağlamak için ham dize olarak da ayarlanabilir.

android:launchMode

Etkinliğin nasıl başlatıldığına ilişkin bir talimat. Bir amacı işlemek için etkinlik çağrıldığında ne olacağını belirlemek için Intent nesnelerinde etkinlik işaretleriyle (FLAG_ACTIVITY_* sabit değerleri) birlikte çalışan beş mod vardır:

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

Varsayılan mod: "standard".

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

Örnekler herhangi bir göreve ait olabilir ve etkinlik görevinin herhangi bir yerinde bulunabilir. Intent nesnesi bir FLAG_ACTIVITY_NEW_TASK talimatı içermiyorsa genellikle startActivity() adlı göreve başlatılır. Bu durumda farklı bir görev seçilir. Daha fazla bilgi için taskAffinity özelliğine bakın.

Buna karşılık "singleTask", "singleInstance" ve "singleInstancePerTask" etkinlikleri farklı davranışlara sahiptir. "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ırabilir. Buna karşılık, FLAG_ACTIVITY_MULTIPLE_TASK veya FLAG_ACTIVITY_NEW_DOCUMENT ayarlandığında "singleInstancePerTask etkinliği farklı görevlerde birden çok kez örneklenebilir.

"singleTask" başlatma moduna sahip bir etkinlik, "singleInstance" ve "singleInstancePerTask" davranışlarını birleştirir: Etkinlik, birden çok kez örneklenebilir ve aynı taskAffinity görevindeki 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: "standard" etkinliği için yeni bir amaç olduğunda, bu amaca yanıt vermek üzere 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 "singleTop" etkinliğinin yeni bir örneği de oluşturulabilir.

Ancak, hedef görevin yığınının en üstünde etkinliğin mevcut bir örneği zaten varsa bu örnek, yeni niyeti bir onNewIntent() çağrısında alır. Yeni bir örnek oluşturulmaz. Aksi takdirde, "singleTop" etkinliğinin mevcut bir örneği hedef görevde ancak yığının üst kısmında değilse ya da bir yığının en üstündeyse ancak hedef görevinde 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 moduna göre belirlenir. Üst etkinliğin başlatma modu singleTop ise (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 etkinlik standard başlatma moduna sahipse ve up intent FLAG_ACTIVITY_CLEAR_TOP içermiyorsa hem geçerli etkinlik hem de üst öğesi yığında açılır ve gezinme amacını almak için üst etkinliğin yeni bir örneği oluşturulur.

"singleInstance" modu, "singleTask" ve "singleInstancePerTask" özelliklerinden yalnızca bir açıdan farklıdır: "singleTask" veya "singleInstancePerTask" başlatma modundaki bir etkinlik, diğer etkinliklerin (zorunlu olarak "standard" ve "singleTop" etkinliklerinin) görevinin bir parçası olmasını sağlar.

Öte yandan "singleInstance" etkinliği, başka hiçbir etkinliğin bu görevin parçası olmasına izin vermez. Görevdeki tek aktivite bu olmalıdır. Başka bir etkinlik başlatırsa o etkinlik farklı bir göreve atanır (FLAG_ACTIVITY_NEW_TASK sanki bunu yapmak niyetindeymiş gibi).

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 hedef görevdeki etkinliğin yeni bir örneğini oluşturur ve amacı bu örneğe yönlendirir.
"singleTop" Koşula bağlı olarak Etkinliğin bir örneği hedef görevin en üstünde zaten varsa sistem, etkinliğin yeni bir örneğini oluşturmak yerine, bir onNewIntent() yöntemine çağrı aracılığıyla niyeti 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ünde etkinlik oluşturur veya aynı 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, niyeti yeni bir örnek oluşturmak yerine onNewIntent() yöntemine yapılan bir çağrıyla mevcut örneğe yönlendirir.
"singleInstance" Hayır "singleTask" ile aynıdır ancak sistem, örneği içeren görevde başka bir etkinlik başlatmaz. Etkinlik her zaman görevinin 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. Bununla birlikte, etkinlik farklı görevlerde birden çok kez örneklenebilir.

Ö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. Bu uygulamalar, kullanıcılara aşina olmayabilecek ve diğer çoğu uygulamadan çok farklı olan bir etkileşim modeli oluşturur.

Seçtiğiniz başlatma modundan bağımsız olarak, başlatma sırasında ve geri düğmesini kullanarak diğer etkinlik ve görevlerden geri dönerken etkinliğin kullanılabilirliğini test ettiğinizden emin olun.

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

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

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ı, Home uygulaması izin verilenler listesine eklenmediği sürece genellikle bildirimleri göremez, izin verilenler listesinde olmayan uygulamalara erişemez veya ana ekrana dönemez.

Sistem kilitleme görevi modundayken yalnızca cihaz politikası denetleyici (DPC) tarafından izin verilenler listesine eklenen uygulamalar çalışabilir. Ancak 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, kilit görevi modunda başlatılmaz ancak startLockTask() çağrısı yapılarak buraya eklenebilir.
"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 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() kullanarak yetkilendirirse bu mod always ile aynı olur ancak son kilitli görevse etkinliğin tamamlanabilmesi için stopLockTask() çağrısı yapması gerekir. DPC bu paketi yetkilendirmezse bu mod normal ile aynı olur.
"always"

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

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ında bu etkinlikten kaynaklanan maksimum görev sayısı. Bu sayıda girişe ulaşıldığında, sistem en son kullanılan örneği Son Kullanılanlar ekranından kaldırır. 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 daha geniş en boy oranına sahip bir cihazda çalışıyorsa sistem, uygulamayı otomatik olarak sinemaskop işlemi yaparak uygulamanın belirtilen maksimum en boy oranında çalışabilmesi için ekranın bazı kısımlarını kullanmadan bırakır.

Maksimum en boy oranı, cihazın uzun boyutunun bölmesinin ondalık biçimi 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 bu değer 1.0 veya üzeri olmalıdır. Aksi takdirde, sistem belirlenen değeri yok sayar.

Not: resizeableActivity, "doğru" olarak ayarlanmışsa bu özellik her boyutu desteklediği anlamına gelir. Dolayısıyla bu özellik yoksayılır.

Bu özellik hakkında daha fazla bilgi için Maksimum en boy oranı bildirme konusuna bakın.

android:multiprocess
Etkinliğin bir örneğinin, onu başlatan bileşenin işlemine başlatılıp başlatılamayacağı. Mümkünse "true", değilse "false" olur. Varsayılan değer "false" değeridir.

Normalde bir etkinliğin yeni bir örneği, onu tanımlayan uygulamanın sürecine başlatılır. Böylece, etkinliğin tüm örnekleri aynı işlemde çalışır. Bununla birlikte, bu işaret "true" değerine ayarlanırsa etkinlik örnekleri birden fazla işlemde çalışabilir. Bu da, izin verilen izinler verildiği sürece sistemin örnekler oluşturmasına izin verir. Bu da neredeyse hiçbir zaman gerekli olmayan veya istenen bir şey değildir.

android:name
Etkinliği uygulayan sınıfın adı olan 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, adın ilk karakteri ".ExtracurricularActivity" gibi bir noktaysa build.gradle dosyasında belirtilen ad alanına eklenir.

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

android:noHistory
Etkinliğin, finish() yöntemi çağırılarak etkinlik yığınından kaldırılıp bitmediği, kullanıcı gruptan ayrılıp artık ekranda görünmediği zaman. Tamamlandıysa "true", değilse "false" olur. Varsayılan değer "false" değeridir.

"true" değeri, etkinliğin geçmiş iz bırakmadığı anlamına gelir. Etkinlik, görevin etkinlik yığınında kalmaz, bu nedenle kullanıcı geri dönemez. Bu durumda, bu etkinlikteki 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 sunuldu.

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.

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

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 için ü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 sunuldu.

android:persistableMode

Bir etkinlik örneğinin, cihaz yeniden başlatıldığında kapsayıcı görevi dahilinde 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 etkinlik korunur. Aksi takdirde, görevin geri yığınının daha üst kısmındaki etkinlikler incelenir; bu özelliğin değerini persistAcrossReboots olarak ayarlayan bu etkinliklerin hepsi 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ğin başlatma amacı kullanılır.

Uygulamanızın başlatma amacı, uygulamanızın kök etkinliğini yüklediğinde bu 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 korunur. Her etkinliğin durumu, kendi persistableMode özelliğinin persistAcrossReboots olarak ayarlandığı geri yığının daha üst kısmındaki her bir etkinliğin durumu ile birlikte korunur. Bir etkinliğin persistableMode özelliği persistAcrossReboots olarak ayarlanmamışsa veya etkinlik Intent.FLAG_ACTIVITY_NEW_DOCUMENT işareti kullanılarak başlatılıyorsa bu etkinlik, arka yığının daha üst kısmındaki tüm etkinliklerle birlikte saklanmaz.

Bir intent, uygulamanızda persistableMode özelliği persistAcrossReboots olarak ayarlanmış bir etkinliği yüklediğinde onCreate() yönteminde PersistableBundle nesnesi alır. Bu nedenle, persistableMode özelliği persistAcrossReboots olarak ayarlandığı sürece, cihaz yeniden başlatma genelinde bir etkinliğin durumunu korumak için onSaveInstanceState() kullanabilirsiniz.

Not: Bu özellik değeri, uygulamanızın kök etkinliği dışındaki bir etkinlikte 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 sunuldu.

android:permission
Müşterilerin etkinliği başlatmak veya bir amaca yanıt vermek için başka bir şekilde alması gereken iznin adı. startActivity() veya startActivityForResult() arayanına belirtilen izin verilmezse çağrının niyeti 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, izin ile korunmaz.

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

android:process

Etkinliğin çalıştığı işlemin adı. Normalde bir uygulamanın tüm bileşenleri, uygulama için oluşturulan varsayılan 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ılabilirsiniz. Böylece 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 süreçte yürütülür.

İşlem adı küçük harfle başlıyorsa etkinlik, izni olması koşuluyla bu ada sahip genel bir işlemde çalıştırılır. Bu, farklı uygulamalardaki bileşenlerin bir işlemi paylaşmasını sağlayarak 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 kendi üzerindeki bir etkinliğe bırakıp bırakmadığı. Kök etkinliğinde bu özelliğin "true" olarak ayarlandığı bir görev, Intent tabanını görevdeki bir sonraki etkinliğin temeliyle değiştirir.

Bir sonraki etkinlikte de bu özellik "true" olarak ayarlanmışsa bu işlem, aynı görevde başlattığı tüm etkinliklere temel Intent değerini verir. Bu işlem, ilgili özelliğin "false" olarak ayarlandığı bir etkinlikle karşılaşılana kadar her etkinlik için devam eder. Varsayılan değer "false" değeridir.

Özellik "true" olarak ayarlandığında ayrıca, etkinlik ActivityManager.TaskDescription için Son kullanılanlar ekranındaki etiketleri, renkleri ve simgeleri değiştirebilir.

android:requireContentUriPermissionFromCaller

İçerik URI'leri iletilirken bu etkinliği başlatmak için gereken izinleri belirtir. Varsayılan değer none olduğu için belirli bir izin gerekli değildir. Bu özelliğin ayarlanması, çağrıyı yapanın izinlerine göre etkinlik çağrısını kısıtlar. Çağrıyı yapan kullanıcı gerekli izinlere sahip değilse etkinlik başlangıcı SecurityException aracılığıyla reddedilir.

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

Unicode karakteri için "\\n" veya "\\uxxxx" gibi karakterlerden kaçmak için "\\;" kullanılan bir dize değeri olabilir;

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. 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 çok pencereli bir ortam için test edilemez veya optimize edilemez. Sistem, uyumluluk modu uygulanmış olarak etkinliği yine de çoklu pencere moduna alabilir.

Bu özelliğin "false" olarak ayarlanması, ekranda (ör. pencere içinde pencere) veya diğer ekranlarda görünen çoklu pencere modunda başka uygulamaların olmayacağını garanti etmez. Dolayısıyla, 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, uygulamanın yeniden boyutlandırılıp boyutlandırılamayacağını belirtir. resizeableActivity="false" değerine ayarlanırsa uygulama, görüntüleme boyutlarına uymak için gerektiğinde uyumluluk moduna alınır.
  • Küçük ekranlar (sw < 600 dp): resizeableActivity="true" ve etkinliğin minimum genişlik ve minimum yüksekliği çoklu pencere koşullarını karşılıyorsa uygulama, çoklu pencere modunu destekler. resizeableActivity="false" ise uygulama, etkinliğin minimum genişliği ve yüksekliğine bakılmaksızın çoklu pencere modunu desteklemiyor.

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ılamıyorsa görevdeki diğer etkinlikler yeniden boyutlandırılamaz.

android:screenOrientation

Cihaz ekranındaki etkinliğin 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.

Android 12 (API düzeyi 31) ve sonraki sürümlerde cihaz üreticileri, yön belirtimini yoksaymak ve yalnızca dikey olarak belirtilen bir uygulamayı yatay ekranlarda dikey olarak gösterilecek şekilde ayarlamak için ayrı cihaz ekranlarını (ör. katlanabilir bir cihazın tablet boyutundaki ekranı) yapılandırabilir. Bu sayede uygulamanın dikey en boy oranına sahip olması sağlanır ancak daha iyi kullanılabilirlik için uygulamayı yönlendirir.

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

"unspecified" Varsayılan değerdir. Yönü sistem seçer. Kullandığı politika ve dolayısıyla belirli bağlamlarda yapılan seçimler, cihazdan cihaza farklılık gösterebilir.
"behind" Etkinlik yığınında hemen altında yer alan etkinlikle aynı yön.
"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 cihaz sensörüne bağlı olarak normal veya ters yatay olabilir. 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 cihaz sensörüne bağlı olarak normal veya ters dikey olabilir. Sensör, kullanıcı sensöre dayalı döndürmeyi kilitlemiş olsa bile kullanılır. Ancak, cihaz yapılandırmasına bağlı olarak baş aşağı döndürmeye izin verilmeyebilir. API düzeyi 9'da eklendi.
"userLandscape" Yatay yön, ancak cihaz sensörü 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 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. 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 olası dört yönün tümüne dönmez. Dört yönü de kullanmak için "fullSensor" kullanın. Sensör, kullanıcı sensör tabanlı dönüşü kilitlemiş olsa bile kullanılır.
"fullSensor" Cihaz yön sensörü, dört yönden herhangi birinin yönünü belirler. "sensor" işlevine benzer, ancak bu özellik, cihazın normalde desteklediğinden bağımsız olarak olası dört ekran yönünden herhangi birinin kullanılmasına olanak tanır. Örneğin, bazı cihazlarda normalde ters dikey veya ters yatay mod kullanılmaz. Ancak bu özellik, söz konusu yönlerin etkinleştirilmesini sağlar. API düzeyi 9'da eklendi.
"nosensor" Yön, fiziksel yön sensörüne başvurulmadan belirlenir. Sensör yok sayılır. Bu nedenle ekran, kullanıcının cihazı hareket ettirme şekline göre dönmez.
"user" Kullanıcının geçerli tercih edilen yönü.
"fullUser" Kullanıcı sensöre dayalı döndürmeyi kilitlemişse bu, 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ü, o anki dönme durumuna kilitler. API düzeyi 18'e eklendi.

Not: Yatay veya dikey değerlerden birini bildirdiğinizde, etkinliğin yürütüleceği yön için bu değer zorunlu olarak kabul edilir. Beyan ettiğ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, "landscape", "reverseLandscape" veya "sensorLandscape" beyan ederseniz uygulamanız yalnızca yatay yönü destekleyen cihazlarda kullanılabilir.

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

android:showForAllUsers

Cihazın mevcut kullanıcısı, etkinliği başlatan kullanıcıdan farklı olduğunda etkinliğin gösterilip gösterilmeyeceği. Bu özelliği "true" veya "false" gibi sabit bir değere ya da boole değeri içeren bir kaynak veya 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 başvurulmadan yeniden başlatılabiliyorsa "true", önceki durumu gerekliyse "false" değeridir. Varsayılan değer "false" değeridir.

Normalde bir etkinlik, kaynakları kaydetmek için geçici olarak kapatılmadan önce onSaveInstanceState() yöntemi çağrılır. Bu yöntem, etkinliğin mevcut durumunu bir Bundle nesnesinde depolar ve etkinlik yeniden başlatıldığında onCreate() nesnesine aktarılır. Bu özellik "true" değerine ayarlanırsa onSaveInstanceState() çağrılmayabilir ve etkinlik ilk kez başladığında olduğu gibi, Bundle yerine onCreate() iletilebilir. null

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

android:supportsPictureInPicture

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

android:taskAffinity

Etkinlikle alakalı olan görev. Aynı yakın ilgi alanına sahip etkinlikler, kullanıcı açısından aynı "uygulamaya", kavramsal olarak aynı göreve aittir. Görevlerin yakın ilgi alanı kök aktivitesinin etkisiyle belirlenir.

Yakın ilgi alanı iki şeyi belirler: etkinliğin yeniden üst öğe olarak atandığı 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. Bu özelliği ayarlayarak uygulamaları farklı şekilde gruplandırabilir, hatta aynı görev içindeki farklı uygulamalarda tanımlanan etkinlikleri yerleştirebilirsiniz. Etkinliğin herhangi bir göreve benzediğini belirtmek için 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 namespace (ad alanı) adıdır.

android:theme
Etkinliğin genel temasını tanımlayan bir stil kaynağına referans Böylece, etkinliğin bağlamı, bu theme kullanılacak şekilde otomatik olarak ayarlanır. Ayrıca, etkinliğin gerçekte nasıl göründüğüne daha iyi uyum sağlamak için animasyonların etkinlik başlatılmadan önce "başlatılmasına" da neden olabilir.

Bu özellik ayarlanmazsa etkinlik, <application> öğesinin theme özelliğinden tüm uygulama için ayarlanan temayı devralır. Bu özellik de ayarlanmazsa varsayılan sistem teması kullanılır. Daha fazla bilgi için 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"Ekranın alt kısmına, yatay alanla sınırlandırıldığında (örneğin, telefonda dikey moddayken) işlem çubuğu olarak da bilinen uygulama çubuğunda işlem öğelerinin gösterilmesi için bir çubuk ekler. Ekranın üst kısmındaki uygulama çubuğunda az sayıda işlem öğesi görünen uygulama çubuğu, işlem öğeleri için üstteki 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 en üstteki gezinme ve başlık öğeleri için de makul bir alanın ayrılması anlamına gelir. Menü öğeleri iki çubuk arasında ayrılmaz. Her zaman bir arada görünürler.

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, dokunmatik klavyeyi içeren pencereyle nasıl etkileşime girdiği. Bu özelliğin ayarı iki şeyi etkiler:
  • Etkinlik, kullanıcının dikkatinin odak noktası haline geldiğinde klavyenin gizlenip görünür olup olmayacağı.
  • Pencerenin bir kısmı ekran klavyesi tarafından kaplandığında geçerli odağı görünür hale getirmek için etkinliğin ana penceresinin, sanal klavyeye yer açmak veya içeriğini kaydırmak üzere yeniden boyutlandırılıp boyutlandırılmayacağı.

Ayar, aşağıdaki tabloda listelenen değerlerden biri veya bir "state..." değeri ve bir "adjust..." değerinin birleşimi olmalıdır. İki grupta birden fazla değer (ör. birden fazla "state..." değeri) ayarlamak tanımsız sonuçlara yol açar. 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" dışında), temada ayarlanan değerleri geçersiz kılar.

Değer Açıklama
"stateUnspecified" Yazılım klavyesinin gizlenmiş veya görünür olup olmadığı belirtilmemiştir. Sistem uygun bir durum seçer veya temadaki ayara dayanır.

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

"stateUnchanged" Etkinlik öne çıktığında klavye, en son göründüğü durumda (görünür veya gizli) kalır.
"stateHidden" Kullanıcı etkinliği seçtiğinde (kullanıcı başka bir etkinlikten ayrılırken geri dönmek yerine olumlu şekilde ilgili etkinliğe gittiğinde) sanal klavye gizlenir.
"stateAlwaysHidden" Etkinliğin ana penceresinde giriş odağı varsa klavye her zaman gizlenir.
"stateVisible" Yazılım klavyesi, kullanıcı etkinliği seçtiğinde, yani kullanıcı başka bir etkinlikten ayrılırken geri dönmek yerine olumlu şekilde ilgili etkinliğe gittiğinde görünür hale gelir.
"stateAlwaysVisible" Pencere giriş odağını aldığında klavye görünür.
"adjustUnspecified" Etkinliğin ana penceresinin, sanal klavyeye yer açmak için yeniden boyutlandırılıp boyutlandırılmayacağı veya geçerli odağı ekranda görünür hale getirmek için pencerenin içeriğinin değiştirilip değiştirilmeyeceği belirtilmemiş. Sistem, pencere içeriğinin, içerikleri kaydırabilen düzen görünümlerine sahip olup olmadığına bağlı olarak bu modlardan birini otomatik olarak seçer. Böyle bir görünüm varsa kaydırmanın pencerenin tüm içeriğini daha küçük bir alanda görünür hale getirebileceği varsayımıyla pencere yeniden boyutlandırılır.

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

"adjustResize" Etkinliğin ana penceresi, ekrandaki yazılımlı klavyeye yer açmak için her zaman yeniden boyutlandırılır.
"adjustPan" Etkinliğin ana penceresi, yumuşak klavyeye yer açmak için yeniden 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 gizlenmez ve kullanıcılar yazdıklarını her zaman görebilir. Bu, genellikle yeniden boyutlandırmaya göre daha az tercih edilir. Çünkü kullanıcının, pencerenin belirsiz kısımlarına ulaşmak ve bu kısımlarla etkileşimde bulunmak için ekran klavyesini kapatması gerekebilir.

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

tanıtıldığı yer:
API düzeyi 3'te eklenen noHistory ve windowSoftInputMode dışındaki tüm özellikler için API düzeyi 1.
ayrıca bkz.:
<application>
<activity-alias>