- 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>
- Şunları içerir:
<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. Burada tanımlanmayanlar sistem tarafından görülmez ve hiçbir zaman yayınlanmaz. - özellikleri:
android:allowEmbedded
-
Etkinliğin, özellikle de alt öğenin başka bir etkinliğe ait bir kapsayıcıda (ör.
Display
) bulunduğu durumlarda başka bir etkinliğin yerleştirilmiş alt öğesi olarak başlatılabileceğini belirtir. Örneğin, Wear özel bildirimleri için kullanılan etkinlikler bunu belirtir. 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
'tır. android:allowTaskReparenting
- Etkinliğin, başlattığı görevden, bir sonraki sefer öne 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 ilgiliallowTaskReparenting
özelliği tarafından ayarlanan değer geçerli olur. Varsayılan değer:"false"
.Normalde bir etkinlik başladığında, onu başlatan etkinliğin göreviyle ilişkilendirilir ve yaşam süresi boyunca bu görevle ilişkili kalır. Mevcut görevi artık görüntülenmediğinde, bu öğenin yakınlık duyduğu göreve yeniden bağlanmasını zorunlu kılmak için bu özelliği kullanabilirsiniz. Bu genellikle, bir uygulamanın etkinliklerinin söz konusu uygulamayla ilişkili ana göreve taşınmasına neden olmak için kullanılır.
Örneğin, bir e-posta mesajında web sayfasının bağlantısı varsa 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. Tarayıcı görevine yeniden eklenirse 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, kök etkinlik tanımı gereği her zaman aynı yakınlığa sahip bir görevde bulunur."singleTask"
veya"singleInstance"
başlatma modlarına sahip etkinlikler yalnızca bir görevin kökünde bulunabileceğinden, yeniden üst öğe ilişkilendirme işlemi"standard"
ve"singleTop"
modlarıyla sınırlıdır. (launchMode
özelliğine de bakın.) android:alwaysRetainTaskState
- Etkinliğin bulunduğu görevin durumunun her zaman sistem tarafından korunup korunmadığı.
"true"
, sistem belirli durumlarda görevi ilk durumuna sıfırlayabiliyorsa"false"
. Varsayılan değer:"false"
. 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 bir görevi yeniden seçtiği belirli durumlarda, kök etkinliğin üzerindeki yığıntaki tüm etkinlikleri kaldırarak görevi temizler. Bu işlem genellikle kullanıcı görevle 30 dakika gibi belirli bir süre boyunca ilgilenmezse yapılır.
Ancak bu özellik
"true"
olduğunda kullanıcılar, göreve nasıl ulaştıklarından bağımsız olarak her zaman göreve son durumunda döner. Bu, kullanıcıların kaybetmek istemediği çok sayıda durum (ör. birden fazla açık sekme) bulunan web tarayıcısı gibi uygulamalarda kullanışlıdır. android:autoRemoveFromRecents
- Bu özelliği taşıyan etkinlik tarafından başlatılan görevlerin, görevdeki son etkinlik tamamlanana kadar Son etkinlikler ekranında kalıp kalmayacağı.
true
ise görev, Son Kullanılanlar ekranından otomatik olarak kaldırılır. Bu, arayanınFLAG_ACTIVITY_RETAIN_IN_RECENTS
kullanımını geçersiz kılar. Boole değeri ("true"
veya"false"
) olmalıdır. android:banner
- İlişkili öğesi için genişletilmiş bir grafik banner sağlayan drawable kaynak. 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 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
intent'ini işleyen bir etkinliğe sahip uygulamalar tarafından belirtilir.Bu özellik, resmi içeren bir çizilebilir kaynağa (ör.
"@drawable/banner"
) referans olarak ayarlanır. Varsayılan banner yoktur.Daha fazla bilgi için TV uygulamalarını kullanmaya başlama bölümündeki Ana ekran banner'ı sağlama konusuna bakın.
android:canDisplayOnRemoteDevices
-
Etkinliğin, Android çalıştırıyor veya çalıştırmıyor olabilecek uzak bir cihazda görüntülenip görüntülenemeyeceğini belirtir. Boole değeri (
"true"
veya"false"
) olmalıdır.Bu özelliğin varsayılan değeri
"true"
'tır. android:clearTaskOnLaunch
- Ana ekrandan yeniden başlatıldığında, kök etkinlik hariç tüm etkinliklerin görevden kaldırılıp kaldırılmayacağı.
Görev her zaman kök etkinliğine indirgeniyorsa
"true"
, aksi takdirde"false"
değerini alır. Varsayılan değer:"false"
. 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örevi her başlattığında, görevde son yaptıkları işlemden ve görevden çıkmak için Geri mi yoksa Ana Sayfa düğmesini mi kullandıklarına bakılmaksızın kök etkinliğe yönlendirilirler. Değer"false"
olduğunda görev, bazı durumlarda etkinliklerden temizlenebilir ancak her zaman değil. Daha fazla bilgi içinalwaysRetainTaskState
ö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. Ardından kullanıcı Ana Sayfa'ya dokunur ve P etkinliğine geri döner. Normalde kullanıcı, P görevinde en son yaptığı işlem olduğu için Q etkinliğini görür. Ancak P bu işaretçiyi
"true"
olarak ayarlarsa kullanıcı ana ekrandan P etkinliğini başlattığında, bu etkinliğin üstündeki tüm etkinlikler (bu durumda Q) kaldırılır. Bu nedenle, kullanıcı göreve geri döndüğünde yalnızca P'yi görür.Bu özellik ve
allowTaskReparenting
"true"
ise yeniden üst öğe atanabilen tüm etkinlikler, benzerlik paylaştığı göreve taşınır. Kalan etkinlikler daha sonra 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
veyawideColorGamut
olabilir.hdr
ise cihaz desteklediği takdirde etkinliğin yüksek dinamik aralıkta gösterilmesini 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çinSRGB
gamutunun dışında oluşturabilir. Cihaz geniş renk gamını desteklemiyorsa bu özelliğin etkisi yoktur. Geniş renk modunda oluşturma hakkında daha fazla bilgi için Geniş renk içeriğiyle grafikleri geliştirme başlıklı makaleyi inceleyin.android:configChanges
- Etkinliğin kendi başına yönettiği yapılandırma değişikliklerini listeler. Çalışma zamanında bir yapılandırma değişikliği olduğunda etkinlik kapanır ve varsayılan olarak yeniden başlatılır. Ancak bu özellikle bir yapılandırma beyan etmek, 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 uygulama performansını ve yanıt verebilirliğini iyileştirmek için özel durumlarda kullanın. Daha fazla bilgi için Yapılandırma değişikliklerini yönetme 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 sunulan özellikten farklıdır. Ekranın renk özellikleri değişmediğinden, kullandığı renk modunu değiştiren bir etkinlik 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 ekran yoğunluğundaki bir değişiklik.
API düzeyi 24'te eklendi.
"fontScale"
Kullanıcı yeni bir genel yazı tipi boyutu seçtiğinde yazı tipi ölçeklendirme faktöründe yapılan bir değişiklik. "fontWeightAdjustment"
Yazı tipi kalınlığının artışı değişti. "grammaticalGender"
Dilin dil bilgisindeki cinsiyeti değişti. Bkz. GrammaticalInflectionManager
.API düzeyi 34'te eklendi.
"keyboard"
Kullanıcının harici bir klavye takması gibi klavye türünde yapılan bir değişiklik "keyboardHidden"
Klavye erişilebilirliğinde yapılan bir değişiklik (ör. kullanıcının donanım klavyesini göstermesi). "layoutDirection"
Düzen yönünde yapılan bir değişiklik (ör. soldan sağa (LTR) sağdan sola (RTL)
API düzeyi 17'de eklendi.
"locale"
Kullanıcının metnin gösterileceği yeni bir dil seçmesi gibi yerel ayarlar "mcc"
SIM algılandığında IMSI mobil ülke kodunda (MCC) meydana gelen ve MCC'yi güncelleyen bir değişiklik. "mnc"
SIM algılandığında MNC'yi güncelleyen IMSI mobil ağ kodunda (MNC) değişiklik "navigation"
TA'nın gezinme türü (trackball veya D-pad) değiştirildi. Bu durum genellikle yaşanmaz. "orientation"
Ekran yöneliminde yapılan bir değişiklik (ör. kullanıcı cihazı döndürdüğünde)
Not: Uygulamanız Android 3.2 (API düzeyi 13) veya sonraki sürümleri hedefliyorsa cihaz dikey ve yatay yönler arasında geçiş yaptığında ekran düzeni ve ekran boyutu değişebileceğinden
"screenLayout"
ve"screenSize"
yapılandırmalarını da belirtin."screenLayout"
Ekran düzeninde yapılan bir değişiklik (ör. farklı bir ekran etkin olduğunda) "screenSize"
Mevcut ekran boyutunda yapılan bir değişiklik.
Bu, mevcut en boy oranına göre mevcut 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
Bu, yöndemeden bağımsız olarak boyuttaki bir değişikliği temsil 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ırmadaki bir değişiklik,
smallestWidth
yapılandırmasında bir değişikliğe karşılık gelir.API düzeyi 13'te eklendi.
"touchscreen"
Dokunmatik ekranda değişiklik. Bu durum genellikle yaşanmaz. "uiMode"
Kullanıcı arayüzü modunda yapılan bir değişiklik (ör. kullanıcının cihazı bir masa veya araba 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
bölümüne bakın.API düzeyi 8'de eklendi.
Tüm bu yapılandırma değişiklikleri, uygulama tarafından görülen kaynak değerlerini etkileyebilir. Bu nedenle,
onConfigurationChanged()
çağrıldığında, değişikliği doğru şekilde işlemek için genellikle görünüm düzenleri ve çizilebilir öğeler dahil tüm kaynakları tekrar almak gerekir.Not: Çoklu pencere ile ilgili yapılandırma değişikliklerini işlemek için hem
"screenLayout"
hem de"smallestScreenSize"
öğesini kullanın. Çoklu pencere özelliği, Android 7.0 (API düzeyi 24) veya sonraki sürümlerde desteklenir. android:directBootAware
Etkinliğin doğrudan önyükleme bilincine sahip olup olmadığı (yani kullanıcı cihazın kilidini açmadan önce etkinliğin çalışıp çalışamayacağı).
Not: Doğrudan Açılış sırasında uygulamanızdaki bir etkinlik yalnızca cihaz korumalı depolama alanında depolanan verilere erişebilir.
Varsayılan değer:
"false"
.android:documentLaunchMode
- Bir etkinliğin yeni örneğinin her başlatıldığında bir göreve nasıl ekleneceğini belirtir.
Bu özellik, kullanıcının aynı uygulamadan birden fazla dokümanın En sonlar 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 bu değerler aşağıdaki etkileri oluşturur:
Değer Açıklama "intoExisting"
Sistem, temel amacın ComponentName
ve veri URI'sinin, 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ır. Kök etkinlik,onNewIntent(android.content.Intent)
çağrısı alır. Sistem böyle bir görev bulamazsa yeni bir görev oluşturur."always"
Etkinlik, doküman zaten açık olsa bile doküman için yeni bir görev oluşturur. Bu, hem FLAG_ACTIVITY_NEW_DOCUMENT
hem deFLAG_ACTIVITY_MULTIPLE_TASK
işaretlerinin ayarlanmasıyla aynıdır."none"
Etkinlik için yeni bir görev oluşturulmaz. Bu, yalnızca FLAG_ACTIVITY_NEW_TASK
ayarlandığında yeni bir görev oluşturan varsayılan değerdir. Son aramalar 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 başlattığı etkinlikten devam eder."never"
Intent FLAG_ACTIVITY_NEW_DOCUMENT
içerse bile etkinlik yeni bir dokümanda başlatılmaz. Bu ayar, etkinlikte bunlardan biri ayarlanmışsaFLAG_ACTIVITY_NEW_DOCUMENT
veFLAG_ACTIVITY_MULTIPLE_TASK
işaretlerinin davranışını geçersiz kılar ve Son Etkinlikler ekranında uygulama için tek bir görev gösterilir. Bu görev, kullanıcının en son çağırdığı etkinlikten devam eder.Not:
"none"
ve"never"
dışındaki değerler için etkinliklaunchMode="standard"
ile tanımlanır. Bu özellik belirtilmezsedocumentLaunchMode="none"
kullanılır. android:enabled
- Etkinliğin sistem tarafından oluşturulup oluşturulamayacağını belirtir. Mümkünse
"true"
, mümkün değilse"false"
olur. Varsayılan değer"true"
'tir.<application>
öğesinin, etkinlikler de dahil olmak üzere tüm uygulama bileşenleri için geçerli olan kendienabled
özelliği vardır. Sistemin etkinliği örnekleyebilmesi için<application>
ve<activity>
özelliklerinin ikisi de varsayılan olarak"true"
olmalıdır. Bunlardan biri"false"
ise örneklenemez. android:enableOnBackInvokedCallback
- Bu işaret, tahmine dayalı sistem animasyonlarını etkinlik düzeyinde etkinleştirmenize olanak tanır. Bu davranış, çok etkinliğe sahip büyük uygulamaları tahmine dayalı geri hareketlere taşımayı daha kolay hale getirir.
android:enableOnBackInvokedCallback=false
ayarı, etiketi belirlediğiniz yere bağlı olarak öngörülü geri animasyonlarını etkinlik düzeyinde veya uygulama düzeyinde devre dışı bırakır ve sistemeOnBackInvokedCallback
platform API'sine yapılan çağrıları yoksaymasını söyler. android:excludeFromRecents
Bu etkinlik tarafından başlatılan görevin Son aramalar 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ç tutulmuşsa
"true"
, dahil edilmişse"false"
olur. Varsayılan değer:"false"
.android:exported
Etkinliğin diğer uygulamaların bileşenleri tarafından başlatılıp başlatılamayacağını belirtir:
"true"
ise etkinlik tüm uygulamalar tarafından erişilebilir ve tam sınıf adıyla başlatılabilir."false"
ise etkinlik yalnızca aynı uygulamanın bileşenleri, aynı kullanıcı kimliğine sahip uygulamalar veya ayrıcalıklı sistem bileşenleri tarafından başlatılabilir. Intent filtresi olmadığında varsayılan değerdir.
Uygulamanızdaki bir etkinlik intent filtreleri içeriyorsa diğer uygulamaların bu etkinliği başlatmasına izin vermek için bu öğeyi
"true"
olarak ayarlayın. Örneğin, etkinlik uygulamanın ana etkinliğiyse vecategory
android.intent.category.LAUNCHER
öğesini içeriyorsa.Bu öğe
"false"
olarak ayarlanırsa ve bir uygulama etkinliği başlatmaya çalışırsa sistem birActivityNotFoundException
oluşturur.Bir etkinliğin diğer uygulamalara gösterilmesini sınırlamanın tek yolu bu özellik değildir. İzinler, etkinliği çağırabilecek harici varlıkları sınırlamak için de kullanılır.
permission
özelliğine bakın.android:finishOnTaskLaunch
- Kullanıcının ana ekranda görevi seçerek görevini yeniden başlattığında, kök etkinlik hariç olmak üzere etkinliğin mevcut bir örneğinin kapatılıp kapatılmayacağı. Kapalıysa
"true"
, açıksa"false"
değerini alır. Varsayılan değer:"false"
.Bu özelliğin ve
allowTaskReparenting
özelliğinin değeri"true"
ise bu özellik diğerine göre önceliklidir. Etkinliğin yakınlığı yoksayılır. Etkinlik yeniden üst öğe olarak atanmaz, kaldırılır.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
ayarlanmamışsa 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"
değerini alır. Varsayılan değer:"false"
.Android 3.0 ve sonraki sürümlerde, yaygın 2D grafik işlemlerinin performansını artırmak için uygulamalarda donanım hızlandırmalı bir OpenGL oluşturma aracı kullanılabilir. Donanım hızlandırmalı oluşturma aracı etkinleştirildiğinde, Tuval, Boya, Xfermode, RenkFiltresi, Gölgelendirici ve Kamera'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 bir yanıt verilebilirlik 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 tümü hızlandırılmaz. Donanım hızlandırmalı oluşturucuyu etkinleştirirseniz uygulamanızın oluşturucuyu hatasız şekilde kullanıp kullanamayacağını test edin.
android:icon
Etkinliği temsil eden bir simge. Simge, ekranda etkinliğin bir temsili gerektiğinde kullanıcılara gösterilir. Örneğin, görev başlatan etkinliklerin simgeleri başlatıcı penceresinde gösterilir. Simge genellikle bir etiketle birlikte kullanılır. Etiket hakkında bilgi edinmek için
android:label
özelliğine bakın.Bu özellik, resim tanımını içeren bir çizilebilir kaynağa referans olarak ayarlanır. Bu ayar belirtilmezse bunun yerine uygulamanın tamamı için belirtilen simge kullanılır. Daha fazla bilgi için
<application>
öğesininicon
özelliğine bakın.Burada veya
<application>
öğesi tarafından ayarlanan etkinliğin simgesi, etkinliğin tüm intent filtreleri için varsayılan simgedir. Daha fazla bilgi için<intent-filter>
öğesininicon
özelliğine bakın.android:immersive
- Geçerli etkinlik için tam ekran modu ayarını belirler. Değer
"true"
isesetImmersive()
yöntemi kullanılarak çalışma zamanında sürükleyici mod değişse bileActivityInfo.flags
üyesininFLAG_IMMERSIVE
biti her zaman ayarlıdır. android:label
Etkinlik için kullanıcı tarafından okunabilen bir etiket. Etkinlik kullanıcıya gösterilirken etiket ekranda görüntülenir. Bu simge genellikle etkinlik simgesiyle birlikte gösterilir. Bu özellik ayarlanmazsa bunun yerine uygulama için ayarlanan etiket kullanılır.
<application>
öğesininlabel
özelliğine bakın.Burada veya
<application>
öğesi tarafından ayarlanan etkinlik etiketi, etkinliğin tüm intent filtreleri için varsayılan etikettir. Daha fazla bilgi için<intent-filter>
öğesininlabel
özelliğine bakın.Etiket, kullanıcı arayüzündeki diğer dizelerde olduğu gibi yerelleştirilebilmesi için bir dize kaynağına referans olarak ayarlanır. Ancak uygulamayı geliştirirken kolaylık sağlamak için ham dize olarak da ayarlanabilir.
android:launchMode
Etkinliğin nasıl başlatılacağına dair bir 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"
'tir.Aşağıdaki tabloda gösterildiği gibi modlar, bir tarafta
"standard"
ve"singleTop"
etkinlikleri, diğer tarafta ise"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 oluşturulabilir.Örnekler herhangi bir göreve ait olabilir ve etkinlik görevinin herhangi bir yerinde bulunabilir. Genellikle,
Intent
nesnesi birFLAG_ACTIVITY_NEW_TASK
talimatı içermediği sürecestartActivity()
'ü çağıran göreve başlatılırlar. Bu durumda farklı bir görev seçilir. Daha fazla bilgi içintaskAffinity
özelliğine bakın.Buna karşılık,
"singleTask"
,"singleInstance"
ve"singleInstancePerTask"
etkinliklerinin davranışları farklıdır."singleInstancePerTask"
her zaman etkinlik görevinin kökündedir. Ayrıca cihaz, aynı anda yalnızca bir"singleInstance"
etkinliği örneği barındırabilir."singleInstancePerTask
etkinliği iseFLAG_ACTIVITY_MULTIPLE_TASK
veyaFLAG_ACTIVITY_NEW_DOCUMENT
ayarlandığında farklı görevlerde birden çok kez örneklendirilebilir."singleTask"
başlatma moduna sahip bir etkinlik,"singleInstance"
ve"singleInstancePerTask"
davranışlarını birleştirir: Etkinlik birden çok kez oluşturulabilir ve aynıtaskAffinity
görevinin herhangi bir yerinde bulunabilir. Ancak cihaz, etkinlik görevinin kökünde"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 intent olduğunda, bu intent'e 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 intent'i işlemek için yeni bir"singleTop"
etkinliği örneği de oluşturulabilir.Ancak hedef görevin yığını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örevdeyse ancak yığının üst kısmında değilse veya yığının üst kısmındaysa ancak hedef görevde değilse yeni bir örnek oluşturulur ve yığına itilir.Benzer şekilde, kullanıcı mevcut yığıntaki bir etkinliğe yukarı giderse davranış, üst etkinliğin başlatma moduna göre belirlenir. Üst etkinlikte
singleTop
başlatma modu varsa (veyaup
intent'iFLAG_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 etkinliktestandard
başlatma modu varsa veup
intent'iFLAG_ACTIVITY_CLEAR_TOP
içermiyorsa hem mevcut etkinlik hem de üst etkinliği yığından çıkarılır ve gezinme intent'ini almak için üst etkinliğin yeni bir örneği oluşturulur."singleInstance"
modu,"singleTask"
ve"singleInstancePerTask"
modlarından yalnızca bir açıdan farklıdır:"singleTask"
veya"singleInstancePerTask"
başlatma moduna sahip bir etkinlik, diğer etkinliklerin (mutlaka"standard"
ve"singleTop"
etkinlikleri) görevinin bir parçası olmasına olanak tanır.Öte yandan
"singleInstance"
etkinlikleri, başka etkinliklerin görevinin bir parçası olmasına izin vermez. Görevdeki tek etkinlik olmalıdır. Başka bir etkinlik başlatırsa bu etkinlik,FLAG_ACTIVITY_NEW_TASK
intent'teymiş gibi farklı bir göreve atanır.Kullanım örnekleri Başlatma modu Birden fazla örnek mi var? Yorumlar Çoğu etkinlik için normal lansmanlar "standard"
Evet Varsayılan. Sistem her zaman hedef görevde etkinliğin yeni bir örneğini oluşturur ve niyeti buraya yönlendirir. "singleTop"
Koşullu olarak Hedef görevin en üstünde etkinliğin bir örneği zaten mevcutsa sistem, etkinliğin yeni bir örneğini oluşturmak yerine onNewIntent()
yöntemine çağrı göndererek niyeti 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ünde oluşturur veya etkinliği aynı yakınlığa sahip mevcut bir görevde bulur. Etkinliğin bir örneği zaten mevcutsa ve görevin kökündeyse sistem, yeni bir örnek oluşturmak yerine onNewIntent()
yöntemine çağrı göndererek niyeti mevcut örneğe yönlendirir."singleInstance"
Hayır Sistem, örneği tutan görevde başka etkinlikler başlatmadığından "singleTask"
ile aynıdır. Etkinlik, görevinin her zaman tek ve tek ü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 kullanışlı bir başlatma modudur. Diğer modlar ("singleTask"
,"singleInstance"
ve"singleInstancePerTask"
) çoğu uygulama için uygun değildir. Bu, kullanıcıların aşina olmadığı ve diğer uygulamalardan çok farklı bir etkileşim modeli oluşturur.Seçtiğiniz başlatma modundan bağımsız olarak, etkinliğin kullanılabilirliğini başlatma sırasında ve Geri düğmesini kullanarak diğer etkinliklerden ve görevlerden etkinliğe geri dönerken test ettiğinizden emin olun.
Lansman modları ve bu modların
Intent
işaretçilerle etkileşimi hakkında daha fazla bilgi için Görevler ve arka yığın başlıklı makaleyi inceleyin.android:lockTaskMode
- Cihaz kilit görev modunda çalışırken sistemin bu etkinliği nasıl sunacağını belirler.
Android, kilit görevi modu adı verilen yoğun içerik modunda görevler çalıştırabilir. Sistem kilit görev modunda çalışırken cihaz kullanıcıları, Ana ekran uygulaması izin verilenler listesine eklenmediği sürece genellikle bildirimleri göremez, izin verilenler listesindeki uygulamalar dışındaki uygulamalara erişemez veya ana ekrana geri dönemez.
Sistem kilit görev 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 listesinde yer almadan kilit görevi modunda çalışabilir.
Değer, aşağıdaki
R.attr.lockTaskMode
dize değerlerinden 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 bu moda yerleştirilebilir."never"
Görevler
lockTask
modunda başlatılmaz ve cihaz kullanıcısı bu görevleri Son aramalar ekranından sabitleyemez.Not: Bu mod yalnızca sistem ve ayrıcalıklı uygulamalar tarafından kullanılabilir. Bu değeri içeren 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. Tek fark, kilitli son görevse etkinliğin tamamlanabilmesi içinstopLockTask()
çağrısı yapması gerektiğidir. DPC bu paketi yetkilendirmezse bu modnormal
ile aynıdır."always"
Bu etkinlikte köklenen görevler her zaman kilitli görev modunda başlatılır. Bu görev başlatılırken sistem kilitli görev modundaysa yeni görev, mevcut görevin üzerine 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 sistem ve ayrıcalıklı uygulamalar tarafından kullanılabilir. Bu değeri içeren ayrıcalıklı olmayan uygulamalar
normal
olarak değerlendirilir.Bu özellik API düzeyi 23'te kullanıma sunulmuştur.
android:maxRecents
- Son aramalar ekranında bu etkinliğe dayalı maksimum görev sayısı. Bu giriş sayısına ulaşıldığında sistem, en son kullanılmayan örneği Son Kullanılanlar ekranından kaldırır. Geçerli değerler, 1 ile 50 arasında veya düşük bellek kapasiteli cihazlarda 1 ile 25 arasında tam sayılardır. 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ş en boy oranına sahip bir cihazda çalışıyorsa sistem, uygulamanın belirtilen maksimum en boy oranında çalışabilmesi için ekranın kullanılmayan bölümlerini bırakarak uygulamayı otomatik olarak sinemaskop moduna geçirir.
Maksimum en boy oranı, cihazın daha uzun boyutunun daha kısa boyuta 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ğerinin 1, 33 veya daha yüksek olması gerekir. Giyilebilir cihazlarda 1.0 veya üzeri olmalıdır. Aksi takdirde sistem, ayarlanan değeri yok sayar.
Not: Etkinlik için
resizeableActivity
doğru olarak ayarlanmışsa bu özellik yoksayılır. Bu, etkinliğinizin tüm boyutları desteklediği anlamına gelir.Bu özellik hakkında daha fazla bilgi için Maksimum en boy oranını beyan etme başlıklı makaleyi inceleyin.
android:multiprocess
- Etkinliğin bir örneğinin, onu başlatan bileşenin işleminde başlatılıp başlatılamayacağını belirtir. Mümkünse
"true"
, değilse"false"
olur. Varsayılan değer:"false"
.Normalde, bir etkinliğin yeni örneği, onu tanımlayan uygulamanın işleminde başlatılır. Bu nedenle, etkinliğin tüm örnekleri aynı işlemde çalışır. Ancak bu işaret
"true"
olarak ayarlanırsa etkinliğin örnekleri birden fazla işlemde çalışabilir. Bu durumda, izinler izin verdiği sürece sistem, kullanıldıkları her yerde örnek oluşturabilir. Bu durum neredeyse hiçbir zaman gerekli veya istenilen 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 kısaltma olarak, adın ilk karakteri noktaysa (".ExtracurricularActivity"
gibi)build.gradle
dosyasında belirtilen ad alanının sonuna eklenir.Uygulamanızı yayınladıktan sonra
android:exported="false"
ayarını yapmadığınız sürece bu adı değiştirmeyin. Varsayılan ayar yoktur. Ad belirtilmelidir. android:noHistory
- Kullanıcı etkinlikten uzaklaştığında ve etkinlik artık ekranda görünmediğinde etkinliğin etkinlik yığınından kaldırılıp
finish()
yönteminin çağrılmasıyla etkinliğin sonlandırılıp sonlandırılmadığı. Bittiyse"true"
, bitmediyse"false"
değerini alır. Varsayılan değer:"false"
."true"
değeri, etkinliğin geçmişte iz bırakmadığını gösterir. Görev için etkinlik yığınında kalmadığı için kullanıcı bu sayfaya geri dönemez. Bu durumda, bu etkinlikten elde edilen bir sonuç için başka bir etkinlik başlatırsanızonActivityResult()
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>
öğesininandroid: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,
TaskStackBuilder
ile geçmiş etkinlikler yığınını sentezlemek için de bu bilgileri kullanabilir.API düzeyleri 4-16'yı desteklemek için üst etkinliği,
"android.support.PARENT_ACTIVITY"
için bir değer belirten bir<meta-data>
öğesiyle de tanımlayabilirsiniz:<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>
Ana etkinliği yukarı gezinmeyi destekleyecek şekilde bildirme hakkında daha fazla bilgi için Yukarı gezinmeyi sağlama başlıklı makaleyi okuyun.
Bu özellik API düzeyi 16'da kullanıma sunulmuştur.
android:persistableMode
Bir etkinliğin örneğinin, cihaz yeniden başlatılırken kapsayıcı 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 arka yığınındaki daha üstteki etkinlikler incelenir. Bu özellik değerinipersistAcrossReboots
olarak ayarlayan bu etkinliklerden herhangi biri korunur.Bu özelliği kullanıyorsanı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 intent'i kullanılır.
Uygulamanızın başlatma intent'i, uygulamanızın kök etkinliğini yüklediğinde etkinlik bir
PersistableBundle
nesnesi almaz. Bu nedenle, uygulamanızın kök etkinliğinin durumunu cihazın yeniden başlatılması sırasında korumak içinonSaveInstanceState()
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, arka yığın içinde daha üstte bulunan ve kendi
persistableMode
özelliğipersistAcrossReboots
olarak ayarlanmış her etkinliğin durumuyla birlikte korunur. Bir etkinliğinpersistAcrossReboots
olarak ayarlanmış birpersistableMode
özelliği yoksa veyaIntent.FLAG_ACTIVITY_NEW_DOCUMENT
işaretçisi kullanılarak başlatıldıysa bu etkinlik, arka yığının üst kısmındaki tüm etkinliklerle birlikte korunmaz.Bir intent, uygulamanızda
persistableMode
özelliğipersistAcrossReboots
olarak ayarlanmış bir etkinliği yüklediğinde, etkinlikonCreate()
yönteminde birPersistableBundle
nesnesi alır. Bu nedenle,persistableMode
özelliğipersistAcrossReboots
olarak ayarlandığı sürece bir etkinliğin durumunu cihaz yeniden başlatılırken korumak içinonSaveInstanceState()
öğesini 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
- İstemcilerinin etkinliği başlatmak veya bir intent'e yanıt vermesini sağlamak için sahip olması gereken iznin adı.
startActivity()
veyastartActivityForResult()
adlı bir arayana belirtilen izin verilmezse intent'i etkinliğe teslim edilmez.Bu özellik ayarlanmazsa
<application>
öğesininpermission
özelliği tarafından ayarlanan izin etkinlik için geçerli olur. Hiçbir özellik ayarlanmamışsa etkinlik izinle korunmaz.İzinler hakkında daha fazla bilgi için uygulama manifest'ine genel bakış bölümündeki İzinler bölümünü ve Güvenlik ipuçları başlıklı makaleyi 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 varsayılan işlem adını bu özellikle geçersiz kılabilir, böylece uygulama bileşenlerinizi birden fazla işleme dağıtabilirsiniz.
Bu özelliğe atanan ad iki nokta üst üste ile (
:
) başlıyorsa gerektiğinde uygulamaya özel yeni bir işlem oluşturulur ve etkinlik bu işlemde çalışır.İşlem adı küçük harfle başlıyorsa etkinlik, izin verildiği takdirde bu ada sahip genel bir işlemde çalışır. Bu, farklı uygulamalardaki bileşenlerin bir işlemi paylaşmasına olanak tanır ve kaynak kullanımını azaltır.
<application>
öğesininprocess
ö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ındaki kendisinden üstteki bir etkinliğe bırakıp bırakmayacağını belirtir. Kök etkinliği bu özelliği
"true"
olarak ayarlanmış bir görevde, temelIntent
, görevdeki sonraki etkinliğinIntent
ile değiştirilir.Sonraki etkinlikte de bu özellik
"true"
olarak ayarlanmışsa aynı görevde başlattığı tüm etkinliklere temelIntent
değerini döndürür. Bu işlem, bu özelliğin"false"
olarak ayarlandığı bir etkinlikle karşılaşılana kadar her etkinlik için devam eder. Varsayılan değer:"false"
."true"
olarak ayarlanan bu özellik, etkinliğin Son aramalar ekranındaki etiketleri, renkleri ve simgeleri değiştirmek içinActivityManager.TaskDescription
kullanmasına da izin verir.android:requireContentUriPermissionFromCaller
-
İçerik URI'leri iletilirken bu etkinliğin başlatılması için gerekli izinleri belirtir. Varsayılan değer
none
'tür. Bu, belirli izinler gerekmediği anlamına gelir. Bu özelliği ayarlamak, etkinliğin çağrılmasını çağıranın izinlerine göre kısıtlar. Çağırıcı gerekli izinlere sahip değilse etkinlik başlatma işlemiSecurityException
ile reddedilir.Zorunluluğun
Intent.getData()
,Intent.EXTRA_STREAM
veIntent.getClipData()
içindeki içerik URI'leri için geçerli olduğunu unutmayın."\\n" gibi karakterlerden kaçınmak için "\\;' veya Unicode karakteri için "\\uxxxx" kullanılarak oluşturulan 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 izinler gerekmez. okuma 1 Çağırıcıya, iletilen içerik URI'lerine okuma erişimi vermesini zorunlu kılar. readAndWrite 4 Çağırıcıya, iletilen içerik URI'lerine hem okuma hem de yazma erişimi olmasını zorunlu kılar. readOrWrite 3 Çağırıcıya, iletilen içerik URI'lerine okuma veya yazma erişimi olmasını zorunlu kılar. yardım et 2 Çağırıcıya, iletilen içerik URI'lerine yazma erişimi vermesini 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 ortam için test edilemez veya optimize edilemez. Sistem, uyumluluk modu uygulanmış olsa bile etkinliği çoklu pencere moduna geçirebilir.Bu özelliği
"false"
olarak ayarlamak, ekranda çoklu pencere modunda başka uygulamaların (ör. pencere içinde pencere) veya diğer ekranlarda görünmediğinden emin olmanızı sağlamaz. Bu nedenle, bu işaretin ayarlanması, uygulamanızın özel kaynak erişimine sahip olduğu anlamına gelmez.Uygulamanız API düzeyi 24 veya 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, uygulamanın yeniden boyutlandırılıp boyutlandırılamayacağını belirtir.
resizeableActivity="false"
ise uygulama, ekran boyutlarına uymak için gerektiğinde uyumluluk moduna geçirilir. - Küçük ekranlar (sw < 600 dp):
resizeableActivity="true"
ve etkinliğin minimum genişliği ile minimum yüksekliği çoklu pencere koşullarını karşılıyorsa uygulama çoklu pencere modunu destekler.resizeableActivity="false"
ise uygulama, etkinlik minimum genişliği ve yüksekliğinden bağımsız olarak çoklu pencere modunu desteklemez.
Not: Cihaz üreticileri, API düzeyi 31 davranışını geçersiz kılabilir.
Bu özellik, API düzeyi 24'te eklenmiştir.
Not: Görevdeki 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ılabiliyorsa 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.
- 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.
android:screenOrientation
Etkinliğin istenen yönü.
Bir etkinlik ekranın tamamını doldurduğunda istenen yön, söz konusu ekrandaki yönü istenen değerle eşleşecek şekilde değiştirme önerisi olarak işlev görür. Bu durum, ekranın uzayda fiziksel yönüyle farklı bir yönde görüntülenmesine neden olabilir. Bu durumda kullanıcının, uygulamayı kullanmaya devam etmek için cihazı döndürmesi gerekir. Android 12 (API düzeyi 31) ve sonraki sürümlerde cihaz üreticileri, cihaz ekranlarını (ör. katlanabilir cihazı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ü içinde sinemaskoplu olarak gösterilmesini zorunlu kılabilir. Bu sayede, kullanıcının cihazını fiziksel olarak döndürmesine gerek kalmadan etkinliğin yönü istenen yönle eşleşir.
Çoklu pencere modunda, istenen yön genel yön için bir öneri olarak işlev görmez. Etkinlik kare kutuluysa istenen yön, etkinliğe uygulanan kare kutuyu etkiler.
Değer, aşağıdaki dizelerden biri olabilir:
"unspecified"
Varsayılan değer. Sistem yönü seçer. Kullanılan 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ındaki etkinlikle aynı yön. "landscape"
Yatay yön (ekran eninden daha uzundur). "portrait"
Dikey yön (ekran genişliğinden daha uzundur). "reverseLandscape"
Normal yatay yönün ters yönünde yatay yön. API düzeyi 9'da eklendi. "reversePortrait"
Normal dikey yönün tersine doğru dikey yön. API düzeyi 9'da eklendi. "sensorLandscape"
Yatay yöndedir ancak cihaz sensörüne bağlı olarak normal veya ters yatay olabilir. Kullanıcı sensör tabanlı döndürmeyi kilitlemiş olsa bile sensör kullanılır. API düzeyi 9'da eklendi. "sensorPortrait"
Dikey yöndedir ancak cihaz sensörüne bağlı olarak normal veya ters dikey olabilir. Kullanıcı sensör tabanlı döndürmeyi kilitlemiş olsa bile sensör 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öndedir ancak cihaz sensörüne ve kullanıcının tercihine bağlı olarak normal veya ters yatay olabilir. API düzeyi 18'de eklendi. "userPortrait"
Dikey yöndedir ancak cihaz sensörüne ve kullanıcının tercihine göre 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 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 dört olası yönde de dönmez. Dört yönün tümünü kullanmak için "fullSensor"
değerini kullanın. Kullanıcı sensör tabanlı döndürmeyi kilitlemiş olsa bile sensör kullanılır."fullSensor"
Cihaz yönü sensörü, dört yönden herhangi birinin yönünü belirler. Bu, "sensor"
ile benzerdir. Tek farkı, cihazın normalde desteklediğinden bağımsız olarak dört olası ekran yöneliminden herhangi birine izin vermesidir. Örneğin, bazı cihazlar normalde ters dikey veya ters yatay modu kullanmaz ancak bu modlar bu şekilde etkinleştirilebilir. API düzeyi 9'da eklendi."nosensor"
Yön, fiziksel bir yön sensörüne referans vermeden belirlenir. Sensör yoksayılır, bu nedenle ekran, kullanıcının cihazı nasıl hareket ettirdiğine göre dönmez. "user"
Kullanıcının tercih ettiği mevcut yön. "fullUser"
Kullanıcı sensör tabanlı döndürmeyi kilitlediyse bu değer user
ile aynı şekilde davranır, aksi takdirdefullSensor
ile aynı şekilde davranır ve dört olası ekran yöneliminden herhangi birine izin verir. API düzeyi 18'de eklendi."locked"
Yönlendirmeyi, mevcut rotasyonuna kilitler. API düzeyi 18'de eklendi. Not: Yatay veya dikey değerlerden birini belirttiğinizde, bu değer etkinliğin çalıştığı yön için zorunlu bir koşul olarak kabul edilir. Beyan ettiğiniz değer, Google Play gibi hizmetlere göre filtreleme yapılmasını sağlar. Böylece uygulamanız yalnızca etkinliklerinizin gerektirdiği yönü destekleyen cihazlarda kullanılabilir. Örneğin,
"landscape"
,"reverseLandscape"
veya"sensorLandscape"
değerini belirtirseniz uygulamanız yalnızca yatay yönü destekleyen cihazlarda kullanılabilir.Ayrıca,
<uses-feature android:name="android.hardware.screen.portrait"/>
gibi bir<uses-feature>
öğesiyle uygulamanızın dikey veya yatay yönü gerektirdiğini açıkça belirtin. Bu, Google Play ve onu destekleyen diğer hizmetler tarafından sağlanan bir filtreleme davranışıdır. Platform, bir cihaz yalnızca belirli yönleri desteklediğinde uygulamanızın yüklenip yüklenemeyeceğ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 bir değişmez değere ayarlayabilir ya da boole değeri içeren bir kaynak veya tema özelliği olarak ayarlayabilirsiniz.Bu özellik API düzeyi 23'te eklenmiştir.
android:stateNotNeeded
- Etkinliğin durumu kaydedilmeden sonlandırılıp başarıyla yeniden başlatılıp başlatılamayacağını belirtir. Önceki durumuna bakılmaksızın yeniden başlatılabiliyorsa
"true"
, önceki durumunun gerekli olduğu durumlarda ise"false"
olur. Varsayılan değer:"false"
.Normalde, bir etkinlik kaynak tasarrufu için geçici olarak kapatılmadan önce
onSaveInstanceState()
yöntemi çağrılır. Bu yöntem, etkinliğin mevcut durumunu birBundle
nesnesinde depolar. Bu nesne, etkinlik yeniden başlatıldığındaonCreate()
nesnesine iletilir. Bu özellik"true"
olarak ayarlanırsaonSaveInstanceState()
çağrılmayabilir ve etkinlik ilk kez başladığında olduğu gibiBundle
yerineonCreate()
,null
ile iletilir."true"
ayarı, etkinliğin, korunan durum olmadan yeniden başlatılabileceği anlamına gelir. Örneğin, ana ekranı görüntüleyen etkinlik, bir nedenle kilitlenirse kaldırılmamasını sağlamak için bu ayarı kullanır. android:supportsPictureInPicture
-
Etkinliğin resim içinde resim görüntülemeyi destekleyip desteklemediğini belirtir.
android:taskAffinity
Etkinliğin yakın olduğu görev. Aynı yakınlığa sahip etkinlikler, kullanıcının bakış açısından aynı göreve, aynı "uygulamaya" aittir. Bir görevin yakınlığı, kök etkinliğinin yakınlığına göre belirlenir.
Yakınlık, iki şeyi belirler: etkinliğin yeniden üst öğesi olarak atanan görev (
allowTaskReparenting
özelliğine bakın) veFLAG_ACTIVITY_NEW_TASK
işaretiyle başlatılırken etkinliği barındıran görev.Varsayılan olarak, bir uygulamadaki tüm etkinliklerin yakınlığı aynıdır. Bu özelliği ayarlayarak etkinlikleri farklı şekilde gruplandırabilir ve hatta farklı uygulamalarda tanımlanan etkinlikleri aynı göreve yerleştirebilirsiniz. Etkinliğin herhangi bir görevle yakınlık ilişkisi olmadığını belirtmek için etkinliği boş bir dizeye ayarlayın.
Bu özellik ayarlanmazsa etkinlik, uygulama için ayarlanan yakınlığı devralır.
<application>
öğesinintaskAffinity
özelliğine bakın. Bir uygulamanın varsayılan yakınlığının adı,build.gradle
dosyasında ayarlanan ad alanıdır.android:theme
- Etkinlik için genel temayı tanımlayan bir stil kaynağına referans.
Bu, etkinliğin bağlamını bu
theme
değerini kullanacak şekilde otomatik olarak ayarlar ve etkinliğin gerçek görünümüne daha uygun olması için etkinlik başlatılmadan önce "başlatma" animasyonlarına da neden olabilir.Bu özellik ayarlanmamışsa etkinlik, uygulama için ayarlanan temayı bir bütün olarak
<application>
öğesinintheme
özelliğinden devralır. Bu özellik de ayarlanmazsa 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ğer Açıklama "none"
Ek kullanıcı arayüzü seçeneği yoktur. Bu, varsayılan seçenektir. "splitActionBarWhenNarrow"
Yatay alan sınırlı olduğunda (ör. cep telefonunda dikey moddayken) işlem öğelerini işlem çubuğu olarak da bilinen uygulama çubuğunda görüntülemek 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österilmek yerine uygulama çubuğu, üst gezinme bölümü ve işlem öğeleri için alt çubuk olarak ikiye ayrılır. Bu, 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ğlandığı anlamına gelir. 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 eklenmiştir.
android:windowSoftInputMode
- Etkinliğin ana penceresinin, ekran klavyesini içeren pencereyle etkileşimi. Bu özelliğin ayarı iki şeyi etkiler:
- Etkinlik kullanıcının dikkatinin odak noktası olduğunda sanal klavyenin gizli olup olmayacağını belirtir.
- Etkinliğin ana penceresinin, dokunmatik klavyeye yer açmak için daha küçük boyuta ayarlanıp ayarlanmayacağı veya pencerenin bir kısmı dokunmatik klavye tarafından kapatıldığında mevcut odağın görünür kalması için içeriğinin kaydırılıp kaydırılmayacağı.
Ayar, aşağıdaki tabloda listelenen değerlerden biri veya bir
"state..."
değeri ile bir"adjust..."
değerinin birleşimi olmalıdır. Her iki grupta da birden fazla değer ayarlamak (ör. birden fazla"state..."
değeri) tanımlanmamış sonuçlara neden olur. Bağımsız 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"
dışındakiler), temada ayarlanan değerleri geçersiz kılar.Değer Açıklama "stateUnspecified"
Sanal klavyenin gizli veya görünür olup olmadığı belirtilmez. Sistem uygun bir durum seçer veya temadaki ayara bağlıdır. Bu, sanal klavyenin davranışı için varsayılan ayardır.
"stateUnchanged"
Etkinlik öne çıktığında dokunmatik klavye, en son açık veya kapalı olduğu durumda 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 doğru ilerlediğinde) sanal klavye gizlenir. "stateAlwaysHidden"
Etkinliğin ana penceresinde giriş odağı olduğunda dokunmatik klavye her zaman gizlidir. "stateVisible"
Dokunmatik klavye, kullanıcı etkinliği seçtiğinde (yani başka bir etkinlikten çıkarken geri gitmek yerine etkinliğe doğru ilerlediğinde) görünür hale gelir. "stateAlwaysVisible"
Pencere giriş odağını aldığında sanal klavye görünür. "adjustUnspecified"
Etkinliğin ana penceresinin, dokunmatik klavyeye yer açmak için yeniden boyutlandırılıp boyutlandırılmayacağı veya mevcut odağın ekranda görünür olması için pencerenin içeriğinin kaydırılıp kaydırılmayacağı belirtilmemiştir. Sistem, pencerenin içeriğinde içeriklerini kaydırabilecek 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 kaydırma işleminin, pencerenin tüm içeriğini daha küçük bir alanda görünür kılabileceği varsayılarak pencere 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çacak şekilde yeniden boyutlandırılmıyor. Bunun yerine, mevcut odağın klavye tarafından hiçbir zaman engellenmemesi ve kullanıcıların ne yazdıklarını her zaman görebilmesi için pencerenin içeriği otomatik olarak kaydırılır. Kullanıcının, pencerenin gizlenen bölümlerine erişip onlarla etkileşime geçmek için sanal klavyeyi kapatması gerekebileceğinden bu yöntem genellikle yeniden boyutlandırmadan daha az tercih edilir. "adjustNothing"
Etkinliğin ana penceresi, sanal klavyeye yer açmak için yeniden boyutlandırılmaz veya kaydırılmaz. Etkinlik, pencere içe eklemelerini kullanarak sanal klavye için yer açmaktan sorumludur. Pencere içe eklemelerini doğru şekilde işleyen etkinlikler için bu, pencere içeriğinin ekranda nasıl gösterileceği konusunda en fazla kontrolü sağlar. Bu özellik, API düzey 3'te kullanıma sunulmuştur.
- kullanıma sunulduğu sürüm:
- API düzeyi 3'te eklenen
noHistory
vewindowSoftInputMode
dışındaki tüm özellikler için API düzeyi 1. - Ayrıca:
<application>
<activity-alias>
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-01-14 UTC.
[null,null,["Son güncelleme tarihi: 2025-01-14 UTC."],[],[]]