<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:enableOnBackInvokedCallback=["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:intentMatchingFlags=["none" | "enforceIntentFilter" | "allowNullAction"]
          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:minAspectRatio="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>
içinde bulunan:
<application>
Şunları içerebilir:
<intent-filter>
<meta-data>
<layout>
<property>
description:
Uygulamanın görsel kullanıcı arayüzünün bir bölümünü uygulayan bir etkinliği (bir Activity alt sınıfı) bildirir. Tüm etkinlikler, manifest dosyasındaki <activity> öğeleriyle temsil edilmelidir. Burada beyan edilmeyenler sistem tarafından görülmez ve hiçbir zaman yayınlanmaz.
özellikleri:
android:allowEmbedded

Etkinliğin, özellikle çocuğun başka bir etkinliğe ait Display gibi bir kapsayıcıda yaşadığı durumlarda, başka bir etkinliğin yerleştirilmiş çocuğu olarak başlatılabileceğini gösterir. Örneğin, Wear özel bildirimleri için kullanılan etkinlikler, Wear'in etkinliği başka bir süreçte bulunan bağlam akışında gösterebilmesi için bunu bildirir.

Bu özelliğin varsayılan değeri false'dır.

android:allowTaskReparenting
Etkinliğin, kendisini başlatan görevden, bir sonraki ön plana getirildiğinde yakınlık duyduğu göreve geçip geçemeyeceği. Taşınabiliyorsa "true", başladığı görevde kalıyorsa "false" olur.

Bu özellik ayarlanmazsa etkinlik için <application> öğesinin ilgili allowTaskReparenting özelliği tarafından ayarlanan değer geçerli olur. Varsayılan değer "false"'dır.

Normalde, bir etkinlik başlatıldığında, etkinliği başlatan göreve ilişkilendirilir ve ömrü boyunca orada kalır. Bu özelliği, mevcut görevi artık gösterilmediğinde görevin, ilişkili olduğu göreve yeniden atanmasını zorlamak için kullanabilirsiniz. Bu genellikle, bir uygulamanın etkinliklerinin söz konusu uygulamayla ilişkili ana göreve geçmesini sağlamak için kullanılır.

Örneğin, bir e-posta iletisinde web sayfasına yönelik bir bağlantı varsa 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örevine yeniden üst öğe olarak atanırsa tarayıcı bir sonraki sefer öne geldiğinde gösterilir ve e-posta görevi tekrar öne geldiğinde gösterilmez.

Bir etkinliğin yakınlığı, taskAffinity özelliğiyle tanımlanır. Bir görevin yakınlığı, kök etkinliğinin yakınlığı okunarak belirlenir. Bu nedenle, tanım gereği bir kök etkinlik her zaman aynı yakınlığa sahip bir görevdedir. "singleTask" veya "singleInstance" başlatma modlarına sahip etkinlikler yalnızca bir görevin kök kısmında yer alabileceğinden yeniden üst öğe oluşturma işlemi "standard" ve "singleTop" modlarıyla sınırlıdır. (Ayrıca launchMode özelliğini de inceleyin.)

android:alwaysRetainTaskState
Etkinliğin bulunduğu görevin durumunun sistem tarafından her zaman korunup korunmadığı. "true" ise ve "false" sistemin belirli durumlarda görevi başlangıç durumuna sıfırlayıp sıfırlayamayacağı. Varsayılan değer "false"'dır. Bu özellik yalnızca bir görevin kök etkinliği için anlamlıdır. Diğer tüm etkinliklerde yoksayılır.

Normalde sistem, kullanıcının ana ekrandan bu görevi yeniden seçtiği belirli durumlarda bir görevi temizleyerek kök etkinliğin üzerindeki yığından tüm etkinlikleri kaldırır. Bu işlem genellikle kullanıcı, görevi belirli bir süre (ör. 30 dakika) boyunca ziyaret etmediğinde yapılır.

Ancak bu özellik "true" olduğunda kullanıcılar, nasıl ulaşmış olurlarsa olsunlar her zaman göreve son durumunda döner. Bu, kullanıcıların kaybetmek istemediği çok sayıda durumun (ör. birden fazla açık sekme) olduğu web tarayıcısı gibi uygulamalarda kullanışlıdır.

android:autoRemoveFromRecents
Bu özelliğe sahip etkinlik tarafından başlatılan görevler, görevdeki son etkinlik tamamlanana kadar Son Kullanılanlar ekranında kalır. true ise görev, Son Kullanılanlar ekranından otomatik olarak kaldırılır. Bu işlem, 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şkili öğesi için genişletilmiş bir grafik banner sağlayan drawable kaynağı. Belirli bir etkinlik için varsayılan banner sağlamak üzere <activity> etiketiyle veya tüm uygulama etkinlikleri için banner sağlamak üzere <application> etiketiyle birlikte kullanın.

Sistem, Android TV ana ekranında 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 bir etkinliğe sahip uygulamalar tarafından belirtilir.

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

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

android:canDisplayOnRemoteDevices

Etkinliğin, Android çalıştırıyor olabilecek veya olmayabilecek bir uzak cihazda gösterilip gösterilemeyeceğini belirtir. "true" veya "false" Boole değeri olmalıdır.

Bu özelliğin varsayılan değeri "true"'dır.

android:clearTaskOnLaunch
Ana ekrandan yeniden başlatıldığında, kök etkinlik dışındaki tüm etkinliklerin görevden kaldırılıp kaldırılmadığı. Görev her zaman temel etkinliğine indirgeniyorsa "true", indirgenmiyorsa "false". Varsayılan değer "false"'dır. Bu özellik yalnızca yeni bir görev başlatan etkinlikler (kök etkinlik) için anlamlıdır. Görevdeki diğer tüm etkinliklerde 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ı ve görevden çıkmak için Geri veya Ana Sayfa düğmesini kullanıp kullanmadıklarına bakılmaksızın görevin kök etkinliğine yönlendirilir. Değer "false" olduğunda görev, bazı durumlarda etkinliklerden temizlenebilir ancak bu her zaman geçerli 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 oradan 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örevinde en son yaptığı işlem Q olduğu için Q etkinliğini görür. Ancak P bu işareti "true" olarak ayarlarsa kullanıcının ana ekrandan P etkinliğini başlatması durumunda P'nin üzerindeki tüm etkinlikler (bu örnekte Q) kaldırılır. Bu nedenle, kullanıcı göreve döndüğünde yalnızca P'yi görür.

Bu özellik ve allowTaskReparenting özelliği "true" ise yeniden üst öğe atanabilecek tüm aktiviteler, benzerlik paylaştıkları göreve taşınır. Geri kalan etkinlikler bırakılır.

FLAG_ACTIVITY_RESET_TASK_IF_NEEDED ayarlanmamışsa bu özellik yoksayılır.

android:colorMode

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

Cihaz destekliyorsa etkinliğin yüksek dinamik aralıkta gösterilmesini hdr ister.

wideColorGamut ise etkinliğin uyumlu cihazlarda geniş renk gamı modunda gösterilmesini ister. Geniş renk gamı modunda, bir pencere daha canlı renkler göstermek için SRGB gamının dışında oluşturulabilir. Cihaz geniş renk gamı oluşturmayı desteklemiyorsa bu özelliğin etkisi olmaz. Geniş renk modunda oluşturma hakkında daha fazla bilgi için Geniş renkli içeriğe sahip grafikleri iyileştirme başlıklı makaleyi inceleyin.

android:configChanges
Etkinliğin kendisinin işlediği yapılandırma değişikliklerini listeler. Çalışma zamanında bir yapılandırma değişikliği gerçekleştiğinde etkinlik varsayılan olarak kapatılıp yeniden başlatılır ancak bu özelliğe sahip bir yapılandırma bildirmek etkinliğin yeniden başlatılmasını engeller. Bunun yerine, etkinlik çalışmaya devam eder ve onConfigurationChanged() yöntemi çağrılır.

Not: Bu özelliği yalnızca özel durumlarda uygulama performansını ve yanıt verme hızını artırmak 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 fazla 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ı için kullanılan özellikten farklıdır. Kullanılan renk modunu değiştiren bir etkinlik, ekranın renk özellikleri değişmediği için yapılandırma değişikliğine neden olmaz.

"density"

Kullanıcının farklı bir ekran ölçeği belirtmesi veya farklı bir ekranın etkin olması gibi durumlarda ekran yoğunluğunda değişiklik yapılması.

API düzeyi 24'te eklendi.

"fontScale" Yazı tipi ölçeklendirme faktöründe yapılan değişiklikler (ör. kullanıcının yeni bir genel yazı tipi boyutu seçmesi)
"fontWeightAdjustment" Yazı tipi ağırlığındaki artış miktarı değişti.
"grammaticalGender" Dilin gramer cinsiyeti değişti. Şu sayfaya göz atın: GrammaticalInflectionManager.

API düzeyi 34'te eklendi.

"keyboard" Kullanıcının harici klavye takması gibi klavye türünde yapılan değişiklikler.
"keyboardHidden" Kullanıcının donanım klavyesini göstermesi gibi klavye erişilebilirliğinde yapılan bir değişiklik.
"layoutDirection"

Düzen yönünde yapılan değişiklikler (ör. soldan sağa (LTR) yönünden sağdan sola (RTL) yöne geçiş).

API düzeyi 17'de eklendi.

"locale" Kullanıcının metnin görüntüleneceği yeni bir dil seçmesi gibi yerel ayarda yapılan değişiklikler.
"mcc" SIM kart algılandığında IMSI mobil ülke kodunda (MCC) değişiklik yapılması.
"mnc" IMSI mobil ağ kodu (MNC) değiştiğinde MNC'yi güncelleyen bir SIM kart algılanır.
"navigation" TA, gezinme türünde (trackball veya D-pad) değişiklik yapılması. Normalde bu durum yaşanmaz.
"orientation"

Ekran yönünde değişiklik yapılması (ö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. Bunun nedeni, bir cihaz dikey ve yatay yön arasında geçiş yaptığında ekran düzeni ve ekran boyutunun değişebilmesidir.

"screenLayout" Ekran düzeninde değişiklik yapıldığında (ör. farklı bir ekran etkinleştirildiğinde)
"screenSize"

Mevcut ekran boyutunda değişiklik yapılması.

Bu, mevcut en boy oranına göre şu anda kullanılabilir boyuttaki bir değişikliği temsil eder. Bu nedenle, kullanıcı yatay ve dikey arasında geçiş yaptığında değişir.

API düzeyi 13'te eklendi.

"smallestScreenSize"

Fiziksel ekran boyutunda değişiklik yapılması

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

API düzeyi 13'te eklendi.

"touchscreen" Kullanıcının bir giriş çevre birimini bağlaması veya bağlantısını kesmesi ya da uygulamayı farklı ekranlar arasında taşıması gibi dokunmatik ekran modunda yapılan değişiklikler.
"uiMode" Kullanıcı arayüzü modunda yapılan değişiklikler (ör. kullanıcı cihazı masa veya araç kiti yuvasına yerleştirdiğinde ya da gece modu değiştiğinde) Farklı kullanıcı arayüzü modları hakkında daha fazla bilgi için UiModeManager konusuna bakın.

API düzeyi 8'de eklendi.

Bu yapılandırma değişikliklerinin tümü, uygulama tarafından görülen kaynak değerlerini etkileyebilir. Bu nedenle, onConfigurationChanged() çağrıldığında değişikliğin doğru şekilde işlenmesi için görünüm düzenleri ve çizilebilir öğeler de dahil olmak üzere tüm kaynakların tekrar alınması genellikle 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 özelliği, Android 7.0 (API düzeyi 24) veya sonraki sürümlerde desteklenir.

android:directBootAware

Etkinliğin Direct-Boot aware (Doğrudan Başlatma'ya duyarlı) olup olmadığı, yani kullanıcının cihazın kilidini açmasından önce çalışıp çalışamayacağı.

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

Varsayılan değer "false"'dır.

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

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

Değer Açıklama
"intoExisting" Sistem, temel amaç 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 yeniden başlatılır. Kök etkinlik, onNewIntent(android.content.Intent) için bir çağrı alır. Sistem böyle bir görev bulamazsa yeni bir görev oluşturur.
"always" Doküman zaten açık olsa bile etkinlik, doküman için yeni bir görev oluşturur. Bu, hem FLAG_ACTIVITY_NEW_DOCUMENT hem de FLAG_ACTIVITY_MULTIPLE_TASK işaretlerinin ayarlanmasıyla aynıdır.
"none" Etkinlik için yeni bir görev oluşturulmaz. 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 ele alır: Uygulama için tek bir görev gösterir. Bu görev, kullanıcının en son çağırdığı etkinlikten devam eder.
"never" Amaç FLAG_ACTIVITY_NEW_DOCUMENT içerse bile etkinlik yeni bir dokümanda başlatılmaz. Bu ayar, etkinlikte FLAG_ACTIVITY_NEW_DOCUMENT veya FLAG_ACTIVITY_MULTIPLE_TASK işaretlerinden biri ayarlanmışsa bu işaretlerin davranışını geçersiz kılar ve Son Kullanılanlar ekranında, kullanıcının en son çağırdığı etkinlikten devam eden tek bir uygulama görevi gösterilir.

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 oluşturulup oluşturulamayacağı. Mümkünse "true", değilse "false" değerini girin. Varsayılan değer "true"'dır.

<application> öğesinin, aktiviteler de dahil olmak üzere tüm uygulama bileşenleri için geçerli olan kendi enabled özelliği vardır. Sistemin etkinliği başlatabilmesi için <application> ve <activity> özelliklerinin her ikisinin de "true" olması gerekir. Bu özellikler varsayılan olarak "true"'dir. İkisi de "false" ise örneklenemez.

android:enableOnBackInvokedCallback

Bu işaret, etkinlik düzeyinde tahmine dayalı sistem animasyonlarını devre dışı bırakmanıza olanak tanır.

Etkinlik düzeyinde tahmin edilen geri gitme animasyonlarını devre dışı bırakmak ve sisteme OnBackInvokedCallback platform API'sine yapılan çağrıları yoksaymasını söylemek için android:enableOnBackInvokedCallback=false değerini ayarlayın.

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 kullanılan uygulamalar listesinde görünüp görünmeyeceğini belirler. Görev listeden hariç tutulmuşsa "true", dahil edilmişse "false" gösterilir. Varsayılan değer "false"'dır.

android:exported

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

  • Değer "true" ise etkinliğe herhangi bir uygulama erişebilir 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. Amaç filtresi yoksa varsayılan değer budur.

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

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

Bu özellik, bir etkinliğin diğer uygulamalardaki görünürlüğünü sınırlamanın tek yolu değildir. İzinler, etkinliği çağırabilecek harici öğeleri sınırlamak için de kullanılır. permission özelliğini inceleyin.

android:finishOnTaskLaunch
Kullanıcı, ana ekranda görevi seçerek yeniden başlattığında kök etkinlik hariç olmak üzere etkinliğin mevcut bir örneğinin kapatılıp kapatılmadığı. Kapatılmışsa "true", kapatılmamışsa "false" olur. Varsayılan değer "false"'dır.

Bu özellik ve allowTaskReparenting özellikleri "true" ise bu özellik diğerini geçersiz kılar. Etkinliğin yakınlığı yoksayılır. Etkinlik yeniden üst öğe olarak atanmaz, ancak yok edilir.

FLAG_ACTIVITY_RESET_TASK_IF_NEEDED ayarlanmamışsa bu özellik yoksayılır.

android:hardwareAccelerated
Donanım hızlandırmalı oluşturmanın bu etkinlik için etkin olup olmadığı. Etkinse "true", değilse "false". Varsayılan değer "false"'dır.

Android 3.0 ve sonraki sürümlerde, birçok yaygın 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 Camera'daki çoğu işlem hızlandırılır.

Bu sayede, çerçevenin OpenGL kitaplıklarını açıkça kullanmayan uygulamalarda bile daha akıcı animasyonlar, daha akıcı kaydırma ve genel olarak daha iyi yanıt verme özelliği elde edilir. Donanım hızlandırmayı etkinleştirmek için daha fazla kaynak gerektiğinden 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 kullanamadığını test edin.

android:icon

Etkinliği temsil eden bir simge. Simge, ekranda etkinliğin gösterilmesi gerektiğinde kullanıcılara gösterilir. Örneğin, görevleri başlatan etkinliklerin simgeleri başlatıcı penceresinde gösterilir. Simgeye genellikle bir etiket eşlik eder. Etiket hakkında bilgi için android:label özelliğine bakın.

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

Burada veya <application> öğesi tarafından ayarlanan etkinliğin simgesi, aynı zamanda etkinliğin tüm amaç filtrelerinin varsayılan simgesidir. Daha fazla bilgi için <intent-filter> öğesinin icon özelliğine bakın.

android:immersive
Geçerli etkinlik için tam ekran modunu ayarlar. Bu değer "true" ise ActivityInfo.flags üyesinin FLAG_IMMERSIVE biti, setImmersive() yöntemi kullanılarak çalışma zamanında immersive mod değişse bile her zaman ayarlanır.
android:intentMatchingFlags

Sistemin gelen amaçları uygulama bileşenleriyle nasıl eşleştirdiğine ince ayar yapmak için bu özelliği kullanın. Varsayılan olarak özel eşleşme kuralları uygulanmaz.

<activity> etiketinde ayarlanan değer, <application> etiketinde ayarlanan değeri geçersiz kılar.

Değer, "|" ile ayrılmış aşağıdaki işaretlerden biri veya daha fazlası olmalıdır:

İşaret Açıklama
none Gelen amaçlar için tüm özel eşleşme kurallarını devre dışı bırakır. Birden fazla işaret belirtirken çakışan değerler, none işaretine öncelik verilerek çözülür.
enforceIntentFilter

Gelen intent'ler için daha katı eşleşme uygular:

  • Açık amaçlar, hedef bileşenin amaç filtresiyle eşleşmelidir.
  • İşlemi olmayan amaçlar, herhangi bir amaç filtresiyle eşleşmez.
allowNullAction

Eşleşme kurallarını gevşeterek işlem içermeyen niyetlerin eşleşmesine izin verir. Bu işaret, aşağıdaki davranışı elde etmek için enforceIntentFilter ile birlikte kullanılır:

  • Açık amaçlar, hedef bileşenin amaç filtresiyle eşleşmelidir.
  • İşlem içermeyen amaçların herhangi bir amaç filtresiyle eşleşmesine izin verilir.

Daha fazla bilgi için Android 16'daki (API düzeyi 36) davranış değişiklikleri bölümündeki Daha Güvenli Amaçlar'a göz atın.

android:label

Etkinlik için kullanıcı tarafından okunabilir bir etiket. Etkinlik kullanıcıya gösterildiğinde ekranda etiket görüntülenir. Genellikle etkinlik simgesiyle birlikte gösterilir. Bu özellik ayarlanmazsa bunun yerine uygulamanın tamamı için ayarlanan etiket kümesi kullanılır. <application> öğesinin label özelliğine bakın.

Etkinliğin etiketi (burada veya <application> öğesi tarafından ayarlanmış olsun) aynı zamanda etkinliğin tüm amaç filtrelerinin varsayılan etiketidir. Daha fazla bilgi için <intent-filter> öğesinin label özelliğine bakın.

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

android:launchMode

Etkinliğin nasıl başlatılacağıyla ilgili talimat. Etkinlik bir intent'i işlemek için çağrıldığında ne olacağını belirlemek üzere Intent nesnelerindeki etkinlik işaretleriyle (FLAG_ACTIVITY_* sabitleri) birlikte çalışan beş mod vardır:

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

Varsayılan mod "standard"'dir.

Aşağıdaki tabloda gösterildiği gibi, modlar iki ana grupta yer alır. Bir tarafta "standard" ve "singleTop" etkinlikleri, diğer tarafta ise "singleTask", "singleInstance" ve "singleInstancePerTask" etkinlikleri bulunur. "standard" veya "singleTop" başlangıç moduna sahip bir etkinlik birden çok kez örneklenebilir.

Örnekler herhangi bir göreve ait olabilir ve etkinlik görevinde herhangi bir yerde bulunabilir. Genellikle, startActivity() nesnesi bir FLAG_ACTIVITY_NEW_TASK talimatı içermediği sürece Intent'ı çağıran görevde 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 temelinde yer alır. Ayrıca, cihaz aynı anda yalnızca bir "singleInstance" etkinliği örneği tutabilir. FLAG_ACTIVITY_MULTIPLE_TASK veya FLAG_ACTIVITY_NEW_DOCUMENT ayarlandığında ise "singleInstancePerTask etkinliği farklı görevlerde birden çok kez başlatılabilir.

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

"standard" ve "singleTop" modları bir açıdan birbirinden farklıdır: "standard" etkinliği için her yeni amaç olduğunda, bu amaca yanıt vermek üzere sınıfın yeni bir örneği oluşturulur. Her örnek tek bir amaca hizmet eder. Benzer şekilde, yeni bir amaçla ilgilenmek için "singleTop" etkinliğinin yeni bir örneği de oluşturulabilir.

Ancak hedef görevde yığının en üstünde etkinliğin mevcut bir örneği varsa bu örnek, onNewIntent() çağrısında yeni amacı alır. Yeni bir örnek oluşturulmaz. Aksi takdirde ("singleTop" etkinliğinin mevcut bir örneği hedef görevde ancak yığının en üstünde değilse veya yığının en üstünde ancak hedef görevde değilse) yeni bir örnek oluşturulur ve yığına gönderilir.

Benzer şekilde, kullanıcı mevcut yığında bir etkinliğe yukarı doğru gezinirse davranış, üst etkinliğin başlatma modu tarafından belirlenir. Üst etkinliğin başlangıç modu singleTop ise (veya up intent 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şlangıç modu standard ise ve up amaç FLAG_ACTIVITY_CLEAR_TOP içermiyorsa mevcut etkinlik ve üst öğesi yığından çıkarılır ve gezinme amacını almak için üst etkinliğin yeni bir örneği oluşturulur.

"singleInstance" başlangıç modu, "singleTask" ve "singleInstancePerTask" başlangıç modlarından yalnızca bir açıdan farklıdır: "singleTask" veya "singleInstancePerTask" başlangıç moduna sahip bir etkinlik, diğer etkinliklerin (zorunlu olarak "standard" ve "singleTop" etkinlikleri) görevinin bir parçası olmasına izin verir.

A "singleInstance" etkinliği ise başka hiçbir etkinliğin görevine dahil edilmesine izin vermez. Görevdeki tek etkinlik olmalıdır. Başka bir etkinlik başlatırsa bu etkinlik, niyetin içinde FLAG_ACTIVITY_NEW_TASK varmış gibi farklı bir göreve atanır.

Kullanım alanları Başlatma modu Birden fazla örnek mi var? Yorumlar
Çoğu etkinlik için normal lansmanlar "standard" Evet Varsayılan. Sistem, hedef görevde her zaman etkinliğin yeni bir örneğini oluşturur ve amacı bu örneğe yönlendirir.
"singleTop" Koşullu olarak Etkinliğin bir örneği hedef görevin en üstünde zaten varsa sistem, etkinliğin yeni bir örneğini oluşturmak yerine onNewIntent() yöntemiyle çağrı yaparak amaç isteğini bu örneğe yönlendirir.
Özel lansmanlar
(genel kullanım için önerilmez)
"singleTask" Koşullu olarak Sistem, etkinliği yeni bir görevin kök dizininde oluşturur veya aynı yakınlığa sahip mevcut bir görevde bulur. Etkinliğin bir örneği zaten varsa ve görevin kökünü oluşturuyorsa sistem, yeni bir örnek oluşturmak yerine onNewIntent() yöntemi çağrısı yaparak amacı mevcut örneğe yönlendirir.
"singleInstance" Hayır "singleTask" ile aynıdır. Ancak sistem, örneği barındıran görevde başka etkinlik başlatmaz. Etkinlik her zaman görevin tek ve yegane üyesidir.
"singleInstancePerTask" Koşullu 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 oluşturulabilir.

Önceki tabloda gösterildiği gibi, "standard" varsayılan moddur ve çoğu etkinlik türü için uygundur. "singleTop", birçok etkinlik türü için yaygın ve faydalı bir başlangıç modudur. Diğer modlar olan "singleTask", "singleInstance" ve "singleInstancePerTask" çoğu uygulama için uygun değildir. Bu durum, kullanıcıların büyük olasılıkla yabancı olduğu ve diğer birçok uygulamadan çok farklı bir etkileşim modeliyle sonuçlanır.

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

Lansman modları ve Intent işaretlerle etkileşimleri hakkında daha fazla bilgi için Görevler ve geri yığın başlıklı makaleyi inceleyin.

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

Android, görevleri yoğun içerik modunda ve kiosk benzeri bir şekilde (görev kilitleme modu) çalıştırabilir. Sistem, görev kilitleme modunda çalışırken cihaz kullanıcıları genellikle bildirimleri göremez, izin verilenler listesinde olmayan uygulamalara erişemez veya ana ekran uygulaması izin verilenler listesine eklenmediyse ana ekrana dönemez.

Sistem görev kilitleme modundayken yalnızca bir cihaz politikası denetleyicisi (DPC) tarafından izin verilen uygulamalar çalıştırılabilir. Ancak sistem ve ayrıcalıklı uygulamalar, izin verilenler listesine eklenmeden görev kilitleme 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ı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ıklı olmayan uygulamalar normal olarak değerlendirilir.

"if_whitelisted" DPC bu paketi DevicePolicyManager.setLockTaskPackages() kullanarak yetkilendirirse bu mod, always ile aynıdır. Ancak son kilitli görevse etkinliğin tamamlanabilmesi için stopLockTask()'ı çağırması gerekir. DPC bu paketi yetkilendirmezse bu mod, normal ile aynıdır.
"always"

Bu etkinliğe dayalı görevler her zaman görev kilitleme modunda başlatılır. Bu görev başlatıldığında sistem zaten görev kilitleme modundaysa yeni görev, mevcut görevin üzerinde başlatılır. Bu modda başlatılan görevler, finish() çağrılarak görev kilitleme modundan çıkabilir.

Not: Bu mod yalnızca sistem ve ayrıcalıklı uygulamalarda kullanılabilir. Bu değere sahip ayrıcalıklı 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 etkinlikte köklenen maksimum görev sayısı. Bu giriş sayısına ulaşıldığında sistem, en son kullanılan örneği Son Kullanılanlar ekranından kaldırır. Geçerli değerler 1-50 arasındaki tam sayılardır. Düşük bellekli cihazlarda ise 1-25 arasındaki tam sayılar geçerlidir. Sıfır geçersizdir. Varsayılan değer 16'dır.
android:maxAspectRatio

Etkinliğin desteklediği maksimum en-boy oranı.

Uygulama, daha geniş bir en-boy oranına sahip cihazda çalışıyorsa sistem, uygulamayı otomatik olarak letterbox yapar. Bu sayede ekranın bir kısmı kullanılmaz ve uygulama, belirtilen maksimum en-boy oranında çalışabilir.

Maksimum en boy oranı, cihazın uzun boyutunun kısa boyutuna bölünmesiyle elde edilen bölümün 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 yüksek olmalıdır. Giyilebilir cihazlarda 1.0 veya sonraki bir sürüm olmalıdır. Aksi takdirde sistem, ayarlanan değeri yoksayar.

Bu özellik hakkında daha fazla bilgi için R.attr.maxAspectRatio sayfasına bakın.

android:minAspectRatio

Etkinliğin desteklediği minimum en-boy oranı.

Uygulama, daha dar bir en-boy oranına sahip cihazda çalışıyorsa sistem, uygulamayı otomatik olarak letterbox yapar. Böylece ekranın bir kısmı kullanılmaz ve uygulama, belirtilen minimum en-boy oranında çalışabilir.

Minimum en boy oranı, cihazın uzun boyutunun kısa boyutuna bölünmesiyle elde edilen bölümün ondalık biçimi olarak ifade edilir. Örneğin, görüntü en boy oranı 4:3 ise minimum en boy oranı değerini 1, 33 olarak ayarlayın.

Değer 1,0 veya daha büyük olmalıdır.Aksi takdirde sistem, ayarlanan değeri yoksayar.

Bu özellik hakkında daha fazla bilgi için R.attr.minAspectRatio konusuna bakın.

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

Normalde, bir etkinliğin yeni örneği, onu tanımlayan uygulamanın sürecinde başlatılır. Bu nedenle, etkinliğin tüm örnekleri aynı süreçte çalışır. Ancak bu işaret "true" olarak ayarlanırsa etkinliğin örnekleri birden fazla işlemde çalışabilir. Bu da sistemin, izinler izin verdiği sürece kullanıldıkları her yerde örnek oluşturmasına olanak tanır. Bu durum neredeyse hiçbir zaman gerekli veya istenen bir durum değildir.

android:name
Etkinliği uygulayan sınıfın adı, Activity alt sınıfı. Özellik değeri genellikle "com.example.project.ExtracurricularActivity" gibi tam nitelikli bir sınıf adıdır. Ancak, adın ilk karakteri nokta (ör. ".ExtracurricularActivity") ise bu karakter, build.gradle dosyasında belirtilen ad alanına eklenir.

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

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

"true" değeri, etkinliğin geçmişe dönük iz bırakmadığı anlamına gelir. Görev için etkinlik yığınında kalmaz. Bu nedenle kullanıcı, göreve geri dönemez. Bu durumda, bu etkinlikten sonuç almak 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, ilgili <activity> öğesinin android:name özelliğine verilen sınıf adıyla eşleşmelidir.

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

API seviyeleri 4-16'yı desteklemek için üst etkinliği <meta-data> öğesiyle de bildirebilirsiniz. Bu öğe, "android.support.PARENT_ACTIVITY" için bir değer belirtir:

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

Üst gezinmeyi desteklemek için üst etkinliği bildirme hakkında daha fazla bilgi edinmek istiyorsanız Üst gezinme sağlama başlıklı makaleyi inceleyin.

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

android:persistableMode

Bir etkinliğin örneğinin, cihaz yeniden başlatıldığında kapsayan 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 etkinlik korunur. Aksi takdirde, görevin geri yığınında daha yukarıda bulunan etkinlikler incelenir. Bu özelliğin değerini persistAcrossReboots olarak ayarlayan etkinlikler korunur.

Bu özelliği kullanıyorsanız değerini aşağıdakilerden biri olarak 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 amaçlı işlemi kullanılır.

Uygulamanızın başlatma amaçlı intent'i, 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, geri yığındaki her etkinliğin durumuyla birlikte korunur. Bu etkinliklerin her birinin kendi persistableMode özelliği persistAcrossReboots olarak ayarlanmıştır. Bir etkinlikte persistableMode özelliği persistAcrossReboots olarak ayarlanmamışsa veya etkinlik Intent.FLAG_ACTIVITY_NEW_DOCUMENT bayrağı kullanılarak başlatılmışsa bu etkinlik ve geri yığınının üst kısımlarındaki tüm etkinlikler korunmaz.

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

Not: Bu özellik değeri, uygulamanızın kök etkinliği dışında 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 sunulmuştur.

android:permission
İstemcilerin etkinliği başlatmak veya bir amaca yanıt vermesini sağlamak için sahip olması gereken iznin adı. startActivity() veya startActivityForResult() arayana 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. İki özellik de ayarlanmamışsa etkinlik izinle korunmaz.

İzinler hakkında daha fazla bilgi için Uygulama manifestine genel bakış bölümündeki İzinler ve Güvenlik ipuçları başlıklı makaleleri inceleyin.

android:process

Etkinliğin çalıştığı 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 bu özelliği kullanarak varsayılan işlem adını geçersiz kılabilir ve uygulama bileşenlerinizi birden fazla işleme yayabilirsiniz.

Bu özelliğe atanan ad iki nokta üst üste işaretiyle (:) 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, bu ada sahip genel bir işlemde çalışır (bunun için gerekli izne sahip olması koşuluyla). Bu sayede farklı uygulamalardaki bileşenler bir işlemi paylaşabilir ve kaynak kullanımı azaltılabilir.

<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 yığınında kendisinin üstünde bulunan bir etkinliğe görev tanımlayıcılarını bırakıp bırakmadığı. Kök etkinliğinde bu özellik "true" olarak ayarlanmış bir görev, temel Intent öğesini görevdeki sonraki etkinliğin Intent öğesiyle değiştirir.

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

Bu özellik "true" olarak ayarlandığında, etkinliğin ActivityManager.TaskDescription kullanarak Son Kullanılanlar ekranındaki etiketleri, renkleri ve simgeleri değiştirmesine de izin verilir.

android:requireContentUriPermissionFromCaller

İçerik URI'leri iletilirken bu etkinliğin başlatılması için gerekli izinleri belirtir. Varsayılan değer none şeklindedir. Bu, belirli bir izin gerekmediği anlamına gelir. Bu özelliği ayarlamak, etkinliğin başlatılmasını başlatanın izinlerine göre kısıtlar. Çağıran kullanıcının gerekli izinleri yoksa etkinlik başlatma işlemi SecurityException aracılığıyla reddedilir.

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

Unicode karakter için "\\n" veya "\\uxxxx" gibi karakterlerin kod dışına alınması amacıyla "\\;" 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 olarak, belirli bir izin gerekmez.
read 1 Çağıranın, iletilen içerik URI'lerine okuma erişimi olmasını zorunlu kılar.
readAndWrite 4 Çağıranın, iletilen içerik URI'lerine hem okuma hem de yazma erişimi olmasını zorunlu kılar.
readOrWrite 3 Çağıranın, iletilen içerik URI'lerine okuma veya yazma erişimi olmasını zorunlu kılar.
write 2 Çağıranın, iletilen içerik URI'lerine yazma erişimi 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 ortamda test edilemez veya optimize edilemez. Sistem, uyumluluk modu uygulandığında etkinliği çoklu pencere moduna yerleştirmeye devam edebilir.

Bu özelliği "false" olarak ayarlamak, pencere içinde pencere veya diğer ekranlarda olduğu gibi, çoklu pencere modunda ekranda başka uygulamaların görünmediğini garanti etmez. Bu nedenle, bu işareti ayarlamak uygulamanızın özel kaynak erişimine sahip olduğu anlamına gelmez.

Uygulamanız API düzeyi 24 veya sonraki sürümleri 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, ekran 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şliği ile minimum yüksekliği çoklu pencere şartları dahilindeyse uygulama, çoklu pencere modunu destekler. resizeableActivity="false" ise uygulama, etkinliğin minimum genişliği ve yüksekliğinden bağımsız olarak çok pencereli modu desteklemez.

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

Not: Bir görevin kök etkinlik 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 etkinlik yeniden boyutlandırılamıyorsa görevdeki diğer etkinlikler de yeniden boyutlandırılamaz.

android:screenOrientation

Etkinliğin istenen yönü.

Bir etkinlik tüm ekranı kapladığında, istenen yön, o ekrandaki yönün istenen değerle eşleşecek şekilde değiştirilmesi için bir öneri olarak kabul edilir. Bu durum, ekranın uzaydaki fiziksel yönünden farklı bir yönlendirmeye neden olabilir ve kullanıcının uygulamayı kullanmaya devam etmek için cihazı döndürmesini gerektirebilir. Android 12 (API düzeyi 31) ve sonraki sürümlerde cihaz üreticileri, tek tek cihaz ekranlarını (ör. katlanabilir cihazların tablet boyutundaki ekranı) bu öneriyi yoksayacak şekilde yapılandırabilir ve bunun yerine bir etkinliğin, kullanıcının tercih ettiği cihaz yönünde letterbox'a alınmasını zorunlu kılabilir. Bu sayede, kullanıcının cihazını fiziksel olarak döndürmesine gerek kalmadan etkinliğin yönü istenen yöne uygun hale gelir.

Çok pencereli modda, istenen yönlendirme genel yönlendirme için öneri olarak kullanılmaz. Etkinlik sinemaskop ise istenen yön, etkinliğe uygulanan sinemaskopu etkiler.

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

"unspecified" Varsayılan değer. 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 bulunan etkinlikle aynı yönde olmalıdır.
"landscape" Yatay yönlendirme (ekranın eni, boyundan daha uzun).
"portrait" Dikey yön (ekran genişliğinden daha uzun).
"reverseLandscape" Normal yatay yönün tersi yönde yatay yön. API düzeyi 9'da eklenmiştir.
"reversePortrait" Normal dikey yönün tersi yönde dikey yön. API düzeyi 9'da eklenmiştir.
"sensorLandscape" Yatay yönlendirme. Cihaz sensörüne bağlı olarak normal veya ters yatay olabilir. Kullanıcı sensöre dayalı döndürmeyi kilitlemiş olsa bile sensör kullanılır. API düzeyi 9'da eklenmiştir.
"sensorPortrait" Dikey yönlendirme, ancak cihaz sensörüne bağlı olarak normal veya ters dikey olabilir. Kullanıcı sensöre dayalı döndürmeyi kilitlemiş olsa bile sensör kullanılır. Ancak cihaz yapılandırmasına bağlı olarak, ekranın ters çevrilerek döndürülmesine izin verilmeyebilir. API düzeyi 9'da eklenmiştir.
"userLandscape" Yatay yönlendirme. 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önlendirme. 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 ekranın ters çevrilmesine izin verilmeyebilir. API düzeyi 18'de eklendi.
"sensor" Yön, cihaz yön sensörü tarafından belirlenir. Ekranın yönü, kullanıcının cihazı tutma şekline bağlıdır. Kullanıcı cihazı döndürdüğünde değişir. Ancak bazı cihazlar varsayılan olarak dört olası yöne de dönmez. Dört yönün tamamını kullanmak için "fullSensor" kullanın. Kullanıcı sensör tabanlı döndürmeyi kilitlese bile sensör kullanılır.
"fullSensor" Cihaz yönü sensörü, dört yönden herhangi birinin yönünü belirler. Bu, "sensor"'ya benzer. Ancak bu özellik, cihazın normalde desteklediğinden bağımsız olarak dört olası ekran yönünden herhangi birinin kullanılmasına olanak tanır. Örneğin, bazı cihazlar normalde ters dikey veya ters yatay yönlendirmeyi kullanmaz ancak bu ayar, bu yönlendirmeleri etkinleştirir. API düzeyi 9'da eklenmiştir.
"nosensor" Yön, fiziksel yön sensörüne bakılmadan belirlenir. Sensör yoksayılır. Bu nedenle, ekran kullanıcının cihazı hareket ettirme şekline göre dönmez.
"user" Kullanıcının mevcut tercih ettiği yön.
"fullUser" Kullanıcı, sensör tabanlı döndürmeyi kilitlediyse bu işlev user ile aynı şekilde çalışır. Aksi takdirde fullSensor ile aynı şekilde çalışır ve dört olası ekran yönünden herhangi birine izin verir. API düzeyi 18'de eklendi.
"locked" Yönü, mevcut dönüşüne göre kilitler. API düzeyi 18'de eklenmiştir.

Not: Yatay veya dikey değerlerden birini bildirdiğinizde bu, etkinliğin çalıştırıldığı yön için zorunlu bir koşul olarak kabul edilir. Bildirdiğiniz değer, Google Play gibi hizmetler tarafından filtrelemeye olanak tanır. Böylece uygulamanız yalnızca etkinliklerinizin gerektirdiği yönlendirmeyi destekleyen cihazlarda kullanılabilir. Örneğin, "landscape", "reverseLandscape" veya "sensorLandscape" değerlerinden birini beyan ederseniz uygulamanız yalnızca yatay yönü destekleyen cihazlarda kullanılabilir.

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

android:showForAllUsers

Etkinliğin, cihazın mevcut kullanıcısı etkinliği başlatan kullanıcıdan farklı olduğunda gösterilip gösterilmeyeceği. Bu özelliği "true" veya "false" gibi bir değişmez değere ayarlayabilir ya da özelliği, 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 bakılmadan yeniden başlatılabiliyorsa "true", önceki durumu gerekiyorsa "false" olur. Varsayılan değer "false"'dır.

Normalde, kaynak tasarrufu için bir etkinlik geçici olarak kapatılmadan önce onSaveInstanceState() yöntemi çağrılır. Bu yöntem, etkinliğin mevcut durumunu bir Bundle nesnesinde saklar. Bu nesne, etkinlik yeniden başlatıldığında onCreate()'ye iletilir. Bu özellik "true" olarak ayarlanırsa onSaveInstanceState() çağrılmayabilir ve Bundle yerine onCreate() iletilir. Bu durum, etkinlik ilk kez başladığında da geçerlidir.null

"true" ayarı, etkinliğin durum korunmadan yeniden başlatılabileceği anlamına gelir. Örneğin, ana ekranı gösteren etkinlik, bu ayarı kullanarak herhangi bir nedenle kilitlenirse kaldırılmamasını sağlar.

android:supportsPictureInPicture

Etkinliğin pencere içinde pencere görüntülemeyi destekleyip desteklemediğini belirtir.

android:taskAffinity

Etkinliğin yakınlık duyduğu görev. Aynı yakınlığa sahip etkinlikler, kavramsal olarak aynı göreve, kullanıcı açısından aynı "uygulamaya" aittir. Bir görevin yakınlığı, kök etkinliğinin yakınlığıyla belirlenir.

Benzerlik, 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ğin bulunduğu görev.

Varsayılan olarak, bir uygulamadaki tüm etkinlikler aynı yakınlığa sahiptir. Bu özelliği, etkinlikleri farklı şekilde gruplandırmak ve hatta farklı uygulamalarda tanımlanan etkinlikleri aynı göreve yerleştirmek için ayarlayabilirsiniz. Etkinliğin herhangi bir görevle ilişkisi olmadığını belirtmek için boş bir dize olarak ayarlayın.

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

android:theme
Etkinliğin genel temasını tanımlayan bir stil kaynağına referans. Bu, etkinliğin bağlamını otomatik olarak bu theme'yı kullanacak şekilde ayarlar ve etkinliğin başlatılmasından önce "başlangıç" animasyonlarına neden olarak etkinliğin gerçek görünümüyle daha iyi eşleşmesini sağlayabilir.

Bu özellik ayarlanmamışsa etkinlik, uygulamanın tamamı için ayarlanan temayı <application> öğesinin theme özelliğinden devralır. Bu özellik de ayarlanmamışsa varsayılan sistem teması kullanılır. Daha fazla bilgi için Stiller ve temalar başlıklı makaleyi inceleyin.

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"Ek kullanıcı arayüzü seçenekleri yoktur. Bu varsayılan seçenektir.
"splitActionBarWhenNarrow"Yatay alan kısıtlandığında (ör. bir cep telefonunda portre modundayken) işlem çubuğu olarak da bilinen uygulama çubuğundaki işlem öğelerini göstermek için ekranın alt kısmına bir çubuk ekler. Ekranın üst kısmındaki uygulama çubuğunda az sayıda işlem öğesi görünmek yerine uygulama çubuğu, üst gezinme bölümü ve işlem öğeleri için alt çubuk olarak ikiye ayrılır. Bu sayede, yalnızca işlem öğeleri için değil, üst kısımdaki gezinme ve başlık öğeleri için de makul miktarda alan sağlanır. Menü öğeleri iki çubuğa bölünmez. Bunlar her zaman birlikte görünür.

Uygulama çubuğu hakkında daha fazla bilgi için Uygulama çubuğunu ekleme başlıklı makaleyi inceleyin.

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

android:windowSoftInputMode
Etkinliğin ana penceresinin, ekrandaki sanal klavyeyi içeren pencereyle nasıl etkileşimde bulunduğu. Bu özelliğin ayarı iki şeyi etkiler:
  • Etkinlik, kullanıcının dikkatini çektiğinde sanal klavyenin gizli mi yoksa görünür mü olduğu.
  • Etkinliğin ana penceresinin, sanal klavyeye yer açmak için daha küçük boyuta getirilmesi veya pencerenin bir kısmı sanal klavye tarafından kapatıldığında mevcut odağı görünür kılmak için içeriğinin kaydırılması.

Ayar, aşağıdaki tabloda listelenen değerlerden biri veya bir "state..." değeri ile bir "adjust..." değerinin kombinasyonu olmalıdır. Gruplardan birinde birden fazla değer (ör. birden fazla "state..." değeri) ayarlamak, sonuçların tanımlanmamasına neden olur. Tek tek değerler, aşağıdaki örnekte gösterildiği gibi dikey çubukla (|) ayrılır:

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

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

Değer Açıklama
"stateUnspecified" Sanal klavyenin gizli mi yoksa görünür mü olduğu belirtilmemiş. Sistem uygun bir durum seçer veya temadaki ayarı kullanır.

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

"stateUnchanged" Etkinlik ön plana çıktığında, sanal klavye son durumunda (görünür veya gizli) kalır.
"stateHidden" Kullanıcı etkinliği seçtiğinde (yani başka bir etkinlikten ayrılırken etkinliğe geri dönmek yerine etkinliğe olumlu bir şekilde ilerlediğinde) sanal klavye gizlenir.
"stateAlwaysHidden" Etkinliğin ana penceresi giriş odağına sahip olduğunda sanal klavye her zaman gizlenir.
"stateVisible" Yumuşak klavye, kullanıcı etkinliği seçtiğinde (yani başka bir etkinlikten ayrılırken etkinliğe geri dönmek yerine etkinliğe doğru ilerlediğinde) görünür hale gelir.
"stateAlwaysVisible" Pencere giriş odağı aldığında sanal klavye görünür.
"adjustUnspecified" Etkinliğin ana penceresinin, sanal klavyeye yer açmak için yeniden boyutlandırılıp boyutlandırılmadığı veya pencerenin içeriğinin, mevcut odağı ekranda görünür kılmak için kaydırılıp kaydırılmadığı belirtilmemiştir. Sistem, pencere içeriğinde, içeriklerini kaydırabilen düzen görünümleri olup olmadığına bağlı olarak bu modlardan birini otomatik olarak seçer. Böyle bir görünüm varsa pencere, kaydırma işleminin pencere içeriklerinin tamamını daha küçük bir alanda görünür hale getirebileceği varsayımıyla yeniden boyutlandırılır.

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

"adjustResize" Etkinliğin ana penceresi, ekrandaki sanal klavyeye yer açmak için her zaman yeniden boyutlandırılır.
"adjustPan" Etkinliğin ana penceresi, sanal klavyeye yer açmak için yeniden boyutlandırılmaz. Bunun yerine, pencerenin içeriği otomatik olarak kaydırılır. Böylece, mevcut odak hiçbir zaman klavye tarafından gizlenmez ve kullanıcılar her zaman ne yazdıklarını görebilir. Bu yöntem genellikle yeniden boyutlandırmadan daha az tercih edilir. Çünkü kullanıcının pencerenin görünmeyen kısımlarına erişmek ve onlarla etkileşimde bulunmak için sanal klavyeyi kapatması gerekebilir.
"adjustNothing" Etkinliğin ana penceresi, sanal klavyeye yer açmak için yeniden boyutlandırılmaz veya kaydırılmaz. Etkinlik, pencere iç kısımlarını kullanarak sanal klavyeye yer açmaktan sorumludur. Pencere yerleştirmelerini doğru şekilde işleyen etkinlikler için bu, pencere içeriklerinin ekranda nasıl görüntülendiği üzerinde en fazla kontrolü sağlar.

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

Tanıtıldığı oyun:
API düzeyi 3'te eklenen noHistory ve windowSoftInputMode hariç tüm özellikler için API düzeyi 1.
Ayrıca:
<application>
<activity-alias>