- söz dizimi:
<activity android:allowEmbedded=["true" | "false"] android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:autoRemoveFromRecents=["true" | "false"] android:banner="drawable resource" android:canDisplayOnRemoteDevices=["true" | "false"] android:clearTaskOnLaunch=["true" | "false"] android:colorMode=[ "hdr" | "wideColorGamut"] android:configChanges=["colorMode", "density", "fontScale", "fontWeightAdjustment", "grammaticalGender", "keyboard", "keyboardHidden", "layoutDirection", "locale", "mcc", "mnc", "navigation", "orientation", "screenLayout", "screenSize", "smallestScreenSize", "touchscreen", "uiMode"] android:directBootAware=["true" | "false"] android:documentLaunchMode=["intoExisting" | "always" | "none" | "never"] android:enabled=["true" | "false"] android:enabledOnBackInvokedCallback=["true" | "false"] android:excludeFromRecents=["true" | "false"] android:exported=["true" | "false"] android:finishOnTaskLaunch=["true" | "false"] android:hardwareAccelerated=["true" | "false"] android:icon="drawable resource" android:immersive=["true" | "false"] android:label="string resource" android:launchMode=["standard" | "singleTop" | "singleTask" | "singleInstance" | "singleInstancePerTask"] android:lockTaskMode=["normal" | "never" | "if_whitelisted" | "always"] android:maxRecents="integer" android:maxAspectRatio="float" android:multiprocess=["true" | "false"] android:name="string" android:noHistory=["true" | "false"] android:parentActivityName="string" android:persistableMode=["persistRootOnly" | "persistAcrossReboots" | "persistNever"] android:permission="string" android:process="string" android:relinquishTaskIdentity=["true" | "false"] android:requireContentUriPermissionFromCaller=["none" | "read" | "readAndWrite" | "readOrWrite" | "write"] android:resizeableActivity=["true" | "false"] android:screenOrientation=["unspecified" | "behind" | "landscape" | "portrait" | "reverseLandscape" | "reversePortrait" | "sensorLandscape" | "sensorPortrait" | "userLandscape" | "userPortrait" | "sensor" | "fullSensor" | "nosensor" | "user" | "fullUser" | "locked"] android:showForAllUsers=["true" | "false"] android:stateNotNeeded=["true" | "false"] android:supportsPictureInPicture=["true" | "false"] android:taskAffinity="string" android:theme="resource or theme" android:uiOptions=["none" | "splitActionBarWhenNarrow"] android:windowSoftInputMode=["stateUnspecified", "stateUnchanged", "stateHidden", "stateAlwaysHidden", "stateVisible", "stateAlwaysVisible", "adjustUnspecified", "adjustResize", "adjustPan"] > ... </activity>
- bulunduğu yer:
<application>
- şunları içerebilir:
<intent-filter>
<meta-data>
<layout>
- description:
- Aşağıdaki özelliklere sahip bir etkinlik (
Activity
alt sınıfı) tanımlı uygulamanın görsel kullanıcı arayüzünün bir bölümünü uygular. Tüm etkinlikler<activity>
ile temsil edilmelidir öğesi bulunduğundan emin olun. Beyan edilmeyenler görülmedi hiçbir zaman çalıştırılmaz. - özellikler:
android:allowEmbedded
-
Etkinliğin başka bir öğenin yerleştirilmiş alt öğesi olarak başlatılabileceğini belirtir özellikle çocuğun kabın içinde yaşadığı durumlarda örneğin başka bir etkinliğe ait
Display
. Örneğin, etkinlikler bu, Wear özel bildirimleri için kullanılan Wear, etkinliği kendi içerik akışında gösterebilir. başka bir süreçte olabilir.Bu özelliğin varsayılan değeri:
false
. android:allowTaskReparenting
- Etkinliğin, başlatıldığı görevden sonraki döneme taşınıp taşınamayacağı
veya söz konusu görev kullanıcıya yakın bir zamanda
. Hareket edebiliyorsa
"true"
, hareket edebilirse"false"
başladığı görevde kalır.Bu özellik ayarlanmazsa ilgili
allowTaskReparenting
.<application>
öğesinin özelliği geçerli olduğundan emin olun. Varsayılan değer"false"
değeridir.Normalde bir etkinlik başlatıldığında, o aktivitenin ve tüm yaşam boyu orada kalır. Bu özelliği, üzerinde çalıştığı göreve yeniden üstlenmeye zorlamak için kullanabilirsiniz mevcut görevinin artık gösterilmemesini tercih ediyor. Genellikle bu, uygulama etkinliklerinin hareket etmesini sağlamak için kullanılır. bu uygulamayla ilişkili ana göreve yönlendirir.
Örneğin, bir e-posta iletisi bir web sayfasının bağlantısını içeriyorsa bağlantı, sayfayı görüntüleyebilen bir etkinlik getirir. O etkinlik tarayıcı uygulaması tarafından tanımlanır ancak e-postanın bir parçası olarak başlatılır görevi görebilir. Yeniden üst öğe olarak tarayıcı görevine verilmişse, açılan bir sonraki tarayıcı en öne çıkıyor ve e-posta görevi yine öne çıkar.
Bir etkinliğin benzeşimi
taskAffinity
özelliği için de kullanılmaktadır. Yakın ilgi alanı kök aktivitesinin benzeşimi okunarak belirlenir. Dolayısıyla, kök etkinliği tanım gereği her zaman aynı yakın ilgi alanıdır."singleTask"
veya"singleInstance"
başlatma modları yalnızca bir görevin kökünde olabilir. yeniden ebeveynlik durumu,"standard"
ve"singleTop"
ile sınırlıdır kullanabilirsiniz. (Ayrıca bkz.launchMode
özelliğine ilişkin bir değerdir.) android:alwaysRetainTaskState
- Etkinliğin bulunduğu görevin durumu her zaman
sağlayan bir sistemdir. Varsa
"true"
ve Sistem, görevi baş harfine sıfırlayabilirse"false"
bazı durumlarda kullanabilirsiniz. Varsayılan değer"false"
değeridir. Bu özelliğinin yalnızca bir görevin kök etkinliği için anlamlı olduğunu unutmayın. Yok sayıldı harika bir seçenektir.Normalde sistem bir görevi temizleyerek tüm etkinlikleri yığından kaldırır kullanıcının yeniden seçtiği belirli durumlarda, kök etkinliğin üstüne görevi görebilir. Bu genellikle kullanıcının sayfayı belirli bir süre, mesela 30 dakika.
Ancak, bu özellik
"true"
olduğunda kullanıcılar her zaman geri gelir o göreve nasıl geri döndüklerine bakmaksızın Bu bir web tarayıcısı gibi bir uygulamada, birçok durum (ör. birden fazla açık sekme) olması gerekir. android:autoRemoveFromRecents
- Bu özelliğe sahip etkinlik tarafından başlatılan görevlerin
Şu anki son etkinliğe kadar Son kullanılanlar ekranı
teşvik etmelisiniz.
true
ise görev Son Kullanılanlar ekranından otomatik olarak kaldırılır. Bu, arayanınFLAG_ACTIVITY_RETAIN_IN_RECENTS
Boole değeri olmalıdır:"true"
veya"false"
. android:banner
- Çekilebilir bir kaynak
İlgili öğesi için genişletilmiş bir grafik banner sağlar. Şununla kullanın:
<activity>
etiketini kullanarak belirli bir etkinlik için veya<application>
etiketini kullanabilir.Sistem, banner'ı bir uygulamayı temsil etmek için TV ana ekranında görebilirsiniz. Banner yalnızca ana ekranda gösterildiği için, yalnızca
CATEGORY_LEANBACK_LAUNCHER
intent.Bu özellik, resim (örneğin,
"@drawable/banner"
). Varsayılan banner yoktur.Daha fazla bilgi için bkz. TV Uygulamalarını Kullanmaya Başlama bölümünde bir ana ekran banner'ı sağlayın.
android:canDisplayOnRemoteDevices
-
Etkinliğin uzak bir cihazda görüntülenip görüntülenemeyeceğini belirtir. Android'i çalıştırıyor veya çalıştırmıyor olabilir. Boole değeri olmalıdır:
"true"
veya"false"
.Bu özelliğin varsayılan değeri:
"true"
. android:clearTaskOnLaunch
- Şunlar hariç tüm etkinliklerin görevden kaldırılıp kaldırılmayacağı:
kök etkinliği ayarlar.
Görev her zaman kök etkinliğiyle sınırlandırıldıysa
"true"
ve Değilse"false"
. Varsayılan değer"false"
değeridir. Bu özellik yalnızca yeni bir görev, yani kök aktiviteyi başlatan faaliyetler için anlamlıdır. Görevdeki diğer tüm etkinlikler için yoksayılır.Değer
"true"
olduğunda, kullanıcılar göreve her başladıklarında en son ne yaptıklarına bakılmaksızın kök etkinliğine için geri ya da ana sayfa düğmesini kullanıp kullanmadıklarına bırak gitsin. Değer"false"
olduğunda, şuradaki etkinlikler temizlenebilir: bazı durumlarda ama her zaman değil. Daha fazla bilgi içinalwaysRetainTaskState
özelliği için de kullanılmaktadır.Kullanıcının ana ekrandan P etkinliğini başlattığını varsayalım ve oradan Q etkinliğine gidersiniz. Kullanıcı daha sonra Ana Sayfa'ya dokunur ve ardından geri döner P etkinliğine katılır. Normalde kullanıcı, Q etkinliğini görür, çünkü bu, P'nin görevini en son yaptıkları görev. Ancak P bu işareti
"true"
değerine ayarlarsa kullanıcı yeniden başlattığında, hatanın üst kısmındaki etkinliklerin (bu örnekte, Q) ana ekrandan P etkinliği seçin. Bu nedenle kullanıcı, göreve geri dönerken yalnızca P'yi görür.Bu özellik ve
allowTaskReparenting
hem"true"
ise, yeniden üst öğe eklenebilecek tüm etkinlikler ortak paydada buluşması gereken çıkarımlar olur. Kalan etkinlikler atlanır.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
ayarlanmazsa bu özellik yoksayılır. android:colorMode
Etkinliğin renk modunu belirtir. Belirtilmişse
hdr
veyawideColorGamut
.hdr
ise etkinliğin yüksek dinamik bir aralıkta desteklediğini de gösterir.wideColorGamut
ise etkinliğin geniş renk gamı modunda görüntülenmesini ister uyumlu cihazlarda kullanabilirsiniz. Geniş renk gamı modunda, bir pencere ekranınSRGB
gamı daha canlı renkler gösterir. Cihaz, geniş renk gamı oluşturmayı desteklemiyorsa özelliğinin bir etkisi yoktur. Geniş renk modunda oluşturma hakkında daha fazla bilgi için bkz. Geniş renkli içerikle grafikleri geliştirme.android:configChanges
- Etkinliğin kendi kendine işlediği yapılandırma değişikliklerini listeler. Bir yapılandırma
çalışma zamanında gerçekleşir, etkinlik varsayılan olarak kapanır ve yeniden başlatılır, ancak
yapılandırması etkinliğin yeniden başlatılmasını engeller. Bunun yerine
etkinlik çalışmaya devam eder ve
onConfigurationChanged()
yöntemi çağrılır.Not: Bu özelliği yalnızca özel durumlarda, uygulamayı daha iyi hale getirmek için kullanın. daha iyi performans ve yanıt verme sürelerine odaklanıyoruz. Daha fazla bilgi için Yapılandırma değişikliklerini işleme başlıklı makaleyi inceleyin.
Aşağıdaki dizeler bu özellik için geçerli değerlerdir. Birden çok değer
|
ile ayrılmış (örneğin,"locale|navigation|orientation"
).Değer Açıklama "colorMode"
Ekranın renk modu özellikleri (renk gamı veya dinamik aralık) değişti.
Not: Etkinliğin
colorMode
özelliğiyle veya çalışma zamanında istediği renk modu, farklı renk modları özelliğinden farklıdır. Ekranın renk özellikleri değişmediğinden, kullandığı renk modunu değiştiren bir etkinlik, yapılandırmada değişikliğe neden olmaz."density"
Görüntü yoğunluğunda değişiklik (ör. kullanıcının veya farklı bir ekran şu anda etkin.
API düzeyi 24'te eklendi.
"fontScale"
Yazı tipi ölçeklendirme faktöründe değişiklik (ör. kullanıcının yazı tipi boyutu ekledik. "fontWeightAdjustment"
Yazı tipi ağırlığı artışı değişti. "grammaticalGender"
Dilin dil bilgisine göre cinsiyeti değişti. Görüntüleyin GrammaticalInflectionManager
değerleridir.API düzeyi 34'te eklendi.
"keyboard"
Klavye türünde bir değişiklik (ör. kullanıcının takıldığından emin olun. "keyboardHidden"
Klavye erişilebilirliğinde bir değişiklik; örneğin donanım klavyesini gösteriyor. "layoutDirection"
Düzen yönünde bir değişiklik, örneğin soldan sağa (LTR) sağdan sola (RTL)
API düzeyi 17'de eklendi.
"locale"
Yerel ayarda yapılan bir değişiklik; örneğin, kullanıcının yeni bir öğe seçmesi metnin gösterildiği dildir. "mcc"
Aşağıdaki durumlarda IMSI mobil ülke kodunda (MM) yapılan değişiklik MM'yi güncelleyen bir SIM algılandığında. "mnc"
Aşağıdaki durumlarda IMSI mobil ağ kodunda (MNC) MNC'yi güncelleyen bir SIM algılanır. "navigation"
TA, navigasyon türünü değiştirir (izlemetopu veya D-pad). Normalde bu durum söz konusu değildir. "orientation"
Ekran yönünde bir değişiklik (ör. kullanıcının cihazı döndürmesi).
Not: Uygulamanız bunu hedefliyorsa Android 3.2 (API düzeyi 13) veya sonraki sürümler için de
"screenLayout"
ve"screenSize"
yapılandırmaları, çünkü ekran düzeni ekran boyutu da değişebilir. Cihaz dikey ve yatay yönler arasında geçiş yaptığında"screenLayout"
Ekran düzeninde yapılan bir değişiklik (örneğin, farklı bir ekranın etkin hale gelmesi). "screenSize"
Mevcut ekran boyutunda değişiklik.
Bu durum, Mevcut en boy oranı, kullanıcı yatay mod arasında geçiş yaptığında değişir ve dikey.
API düzeyi 13'e eklendi.
"smallestScreenSize"
Fiziksel ekran boyutunda değişiklik.
Bu, yön ne olursa olsun boyuttaki bir değişikliği temsil eder, yani yalnızca gerçek fiziksel ekran boyutu değiştiğinde (ör. yeni bir ekran harici bir ekran. Bu yapılandırmada yapılan bir değişiklik, şu değişikliğe karşılık gelir:
smallestWidth
yapılandırma.API düzeyi 13'e eklendi.
"touchscreen"
Dokunmatik ekranda değişiklik. Normalde bu durum söz konusu değildir. "uiMode"
Kullanıcı arayüzü modunda yapılan bir değişiklik; örneğin, kullanıcının bir masaya ya da araba yuvasına koyabilir veya gece modu değişir. Daha fazla bilgi edinmek için bkz. UiModeManager
API düzeyi 8'e eklendi.
Tüm bu yapılandırma değişiklikleri, bir uygulamadır. Dolayısıyla,
onConfigurationChanged()
. çağrısı yapıldığında, genellikle bu işlemi değişikliği doğru şekilde işlemek için görünüm düzenleri ve çekilebilir öğeler dahil tüm kaynakları alma.Not: Çoklu pencere ile ilgili yapılandırma değişikliklerini işlemek için
"screenLayout"
ve"smallestScreenSize"
öğelerini kullanın. Çoklu pencere, Android 7.0 (API düzeyi 24) veya sonraki sürümlerde desteklenir. android:directBootAware
Etkinliğin Doğrudan Başlatma'ya duyarlı olup olmadığı, yani çalıştırılıp çalıştırılamayacağını belirler.
Not: Doğrudan Başlatma, uygulamanız sadece şurada saklanan verilere erişebilir: cihaz korumalı depolama alanı.
Varsayılan değer
"false"
değeridir.android:documentLaunchMode
- Bir etkinlik yeni örneğinin her başlatıldığında göreve nasıl ekleneceğini belirtir.
Bu özellik, kullanıcının aynı uygulamadan birden fazla dokümana sahip olmasına izin verir
Son çağrılar ekranında görünür.
Bu özelliğin dört değeri vardır ve kullanıcı bir dokümanı açtığında aşağıdaki etkileri oluşturur şu uygulamayla:
Değer Açıklama "intoExisting"
Sistem, temel amacı ComponentName
ve veri URI'si olan bir görev arar başlatma niyetiyle aynı olmalıdır. Sistem böyle bir görev bulursa yeniden başlatılır ve kök etkinlikonNewIntent(android.content.Intent)
Sistem böyle bir görev bulamazsa yeni bir görev oluşturur."always"
Doküman önceden açılmış olsa bile etkinlik doküman için yeni bir görev oluşturur. Bu, hem FLAG_ACTIVITY_NEW_DOCUMENT
hem de veFLAG_ACTIVITY_MULTIPLE_TASK
işaret."none"
Etkinlik, söz konusu etkinlik için yeni bir görev oluşturmaz. Bu, varsayılan olarak yalnızca FLAG_ACTIVITY_NEW_TASK
ayarlandığında yeni bir görev oluşturur. Son Kullanılanlar ekranı etkinliği varsayılan olarak yaptığı gibi ele alır: Her biri için tek bir görev Kullanıcının en son çağırdığı etkinlikten devam eden uygulama."never"
Amaç aşağıdakileri içerse bile etkinlik yeni bir dokümanda başlatılmıyor FLAG_ACTIVITY_NEW_DOCUMENT
Bunun ayarlanması, davranışı geçersiz kılarFLAG_ACTIVITY_NEW_DOCUMENT
veFLAG_ACTIVITY_MULTIPLE_TASK
flag'leri (bunlardan biri tıkladığınızda, Son Kullanılanlar ekranında uygulama için tek bir görev görüntülenir ve bu görev şuradan devam ettirilir: kullanıcının en son çağırdığı etkinlik.Not:
"none"
ve"never"
dışındaki değerler için etkinliklaunchMode="standard"
ile tanımlanır. Bu özellik belirtilmezsedocumentLaunchMode="none"
kullanılıyor. android:enabled
- Etkinliğin sistem tarafından örneklenebilir olup olmadığı. İnsanların
Mümkünse
"true"
, değilse"false"
. Varsayılan değer"true"
.<application>
öğesinin kendienabled
değeri vardır özelliğini kullanmanızı öneririz. İlgili içeriği oluşturmak için kullanılan<application>
. ve<activity>
özelliklerinin ikisi de"true"
olmalıdır, çünkü ikisi de varsayılan olarak, sistemin etkinliği örnekleyebilmesi için gereklidir. İkisinden biri"false"
olduğundan örneklenemez. android:enableOnBackInvokedCallback
- Bu işaret, etkinlik düzeyinde tahmine dayalı sistem animasyonlarını etkinleştirmenizi sağlar. Bu davranış
büyük çoklu etkinlik uygulamalarının tahmine dayalı geri hareketlerine taşınmasını daha kolay hale getirir.
android:enableOnBackInvokedCallback=false
ayarlandığında tahmine dayalı geri devre dışı bırakılır animasyonları etkinlik düzeyinde veya uygulama düzeyinde yapabilirsiniz; etiketi nereye ayarladığınıza bağlı olarak, ve sistemeOnBackInvokedCallback
platform API'sine yapılan çağrıları yoksayması talimatını verir. android:excludeFromRecents
Bu etkinlik tarafından başlatılan görevin Son kullanılanlar ekranı. Yani bu etkinlik, yeni bir istemcinin kök etkinliği olduğunda, bu özellik, görevin son uygulamalar listesinde görünüp görünmeyeceğini belirler. İnsanların Görev, listeden hariç tutulduysa
"true"
; Varsa"false"
dahildir. Varsayılan değer"false"
değeridir.android:exported
Etkinliğin diğer uygulamalar:
"true"
ise etkinlik tüm uygulamalar tarafından erişilebilir ve kendisi tarafından başlatılabilir. sınıf adı."false"
ise etkinlik yalnızca aynı uygulama, aynı kullanıcı kimliğine sahip uygulamalar veya ayrıcalıklı sistem bileşenleri kullanılabilir. Intent filtresi olmadığında, varsayılan değer budur.
Uygulamanızdaki bir etkinlik intent filtreleri içeriyorsa bu öğeyi Diğer uygulamaların başlatmasını sağlamak için
"true"
. Örneğin, etkinlik ana etkinliksecategory
içerir veandroid.intent.category.LAUNCHER
.Bu öğe
"false"
değerine ayarlanırsa ve bir uygulama etkinliği başlatmaya çalışırsa sistemActivityNotFoundException
.Bu özellik, bir etkinliğin diğer kullanıcıların etkinlikleri görmelerini sınırlamanın tek yolu değildir. izin verir. İzinler, kontrol sahibi olan harici varlıkları sınırlandırmak için de nasıl oluşturabileceğini belirleyebilirsiniz. Bkz.
permission
. özelliğini gönderin.android:finishOnTaskLaunch
- Etkinliğin mevcut bir örneğinin kapatılıp kapatılmadığı
Kullanıcı, kök etkinlik haricinde, kullanıcı sayfada görevi seçerek görevini yeniden başlattığında
dokunun. Kapalıysa
"true"
,"false"
e-posta gönderin. Varsayılan değer"false"
değeridir.Bu özellik ve
allowTaskReparenting
. ikisi de"true"
ise bu özellik diğerinden üstündür. Yakın ilgi alanı etkinliği yok sayılır. Etkinlik yeniden üst öğe olarak oluşturulmaz, ancak kaldırılır.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
ayarlanmazsa bu özellik yoksayılır. android:hardwareAccelerated
- Donanım hızlandırmalı oluşturmanın bunun için etkinleştirilip etkinleştirilmediği
etkinliği'ne dokunun. Etkinse
"true"
ve etkinse"false"
değil. Varsayılan değer"false"
değeridir.Android 3.0 ve sonraki sürümlerde, donanım hızlandırmalı OpenGL oluşturucu uygulamalarda, birçok yaygın 2D grafiğin performansını artırma amaçlı kullanılabilir anlamına gelir. Donanım hızlandırmalı oluşturucu etkinleştirildiğinde çoğu işlem Canvas, Paint, Xfermode, ColorFilter, Shader ve Camera'da hızlandırıldı.
Bu da daha akıcı animasyonlara, daha akıcı kaydırmaya ve veya bu alan adını açıkça kullanmayan uygulamalar için bile çerçevenin OpenGL kitaplıkları. Ekibin çalışmalarını tamamlamak için gereken donanım hızlandırmayı etkinleştirdiğinizde uygulamanız daha fazla RAM tüketir.
OpenGL 2D işlemlerinin tamamı hızlandırılmaz. Yalnızca donanım hızlandırmalı oluşturucuyu kullanıyorsanız, uygulamanızın oluşturucuyu hatasız şekilde kullanabilirsiniz.
android:icon
Etkinliği temsil eden bir simge. Simge, şu durumlarda kullanıcılara gösterilir: Bu etkinliğin ekranda gösterilmesi gerekir. Örneğin, simgeler Başlatıcı penceresinde görüntülenir. Simgeyle birlikte genellikle bir etiket gösterilir; Etiket hakkında bilgi için
android:label
özelliğine bakın.Bu özellik, görebilirsiniz. Ayarlanmadıysa uygulama için belirtilen simge bunun yerine bir bütün olarak kullanılır. Daha fazla bilgi için
<application>
. öğesininicon
özelliği.Etkinliğin simgesi (burada,
<application>
. öğesi, aynı zamanda etkinliğin tüm intent filtreleri için varsayılan simgedir. Daha fazla bilgi için<intent-filter>
öğesininicon
özelliği için de geçerlidir.android:immersive
- Geçerli etkinlik için yoğun içerik modu ayarını ayarlar.
"true"
iseActivityInfo.flags
üyesi her zamanFLAG_IMMERSIVE
bit seti,setImmersive()
yöntemini kullanarak çalışma zamanında yoğun içerik modu değişiklikleri. android:label
Etkinlik için kullanıcı tarafından okunabilir bir etiket. Etiket ekranda gösterilir Etkinlik kullanıcıya temsil edildiğinde. Genellikle projeyle ilgili oturum açın. Bu özellik ayarlanmazsa uygulamanın tamamı için ayarlanan etiket kullanılır.
<application>
öğesininlabel
özelliği için de geçerlidir.Etkinliğin etiketi (burada,
<application>
öğesi, aynı zamanda varsayılan etiketi kullanır. Daha fazla bilgi için<intent-filter>
öğesininlabel
özelliği için de geçerlidir.Etiket bir dize kaynağına başvuru olarak ayarlanır. Böylece, bu dizeler, kullanıcı arayüzündeki diğer dizeler gibi yerelleştirilebilir. Ancak, uygulamayı geliştirirken size kolaylık olması açısından, aynı zamanda ham dize olarak da ayarlanabilir.
android:launchMode
Etkinliğin nasıl başlatıldığına ilişkin bir talimat. Beş mod vardır. etkinlik işaretleriyle birlikte çalışan (
FLAG_ACTIVITY_*
sabit değer) sırasında ne olacağını belirlemek içinIntent
nesnede etkinlik, bir niyeti işlemek için çağrılır:"standard"
"singleTop"
"singleTask"
"singleInstance"
"singleInstancePerTask"
Varsayılan mod:
"standard"
.Aşağıdaki tabloda gösterildiği gibi, modlar iki ana gruba ayrılır: Bir tarafta
"standard"
ve"singleTop"
etkinlikleri,"singleTask"
,"singleInstance"
ve Diğer tarafta"singleInstancePerTask"
etkinlik var."standard"
veya"singleTop"
başlatma modu birden fazla kez örneklenebilir.Örnekler herhangi bir göreve ait olabilir ve etkinlik görevinin herhangi bir yerinde olabilir. Genellikle, üst düzey büyük bir ekiple çalışmaya başladığını
startActivity()
,Intent
nesnesiFLAG_ACTIVITY_NEW_TASK
farklı bir görev seçilir. Daha fazla bilgi içintaskAffinity
özelliğini gönderin.Buna karşılık
"singleTask"
,"singleInstance"
ve"singleInstancePerTask"
etkinliklerinin farklı davranışları var."singleInstancePerTask"
her zaman etkinlik görevinin kökünde yer alır. Ayrıca, cihaz Aynı anda"singleInstance"
etkinlik,"singleInstancePerTask
etkinliği birden çok kez örneklenebilir farklı görevlerde tamamlamak içinFLAG_ACTIVITY_MULTIPLE_TASK
veyaFLAG_ACTIVITY_NEW_DOCUMENT
ayarlandı."singleTask"
başlatma modundaki bir etkinlik,"singleInstance"
ve"singleInstancePerTask"
: Etkinlik birden fazla kez örneklenebilir ve aynıtaskAffinity
görevinde herhangi bir yerde bulunabilir. Ancak cihaz, cihazı bulmak için yalnızca bir Etkinlik görevinin kökünde"singleTask"
etkinliği var."standard"
ve"singleTop"
modları birbirinden farklı tek bir açıdan:"standard"
için yeni bir amaç olduğunda söz konusu amaca yanıt vermek için sınıfın yeni bir örneği oluşturulur. Her örnek tek bir niyeti işler. Benzer şekilde,"singleTop"
etkinliğinin yeni bir örneği de yeni bir amaç için oluşturulur.Ancak, hedef görevde zaten en üstteki etkinlik örneği ise "bu örnek" yeni niyeti alır ve
onNewIntent()
arama. Yeni bir örnek oluşturulmaz. Aksi halde ("singleTop"
etkinliği hedef görevde ancak listenin en üstünde değil bir yığının en üstündeyse ancak hedef görevde değilse yeni bir örnek oluşturulur ve yığına aktarılır.Benzer şekilde, kullanıcı gezinmeler kadar mevcut bir yığında bir etkinlik gösterdiğinde, davranış başlatma modunu etkinleştirmenizi öneririz. Üst etkinlik
singleTop
başlatma moduna sahipse (veyaup
amacıFLAG_ACTIVITY_CLEAR_TOP
içeriyorsa) üst öğe durumu korunur.Gezinme amacı alındı ebeveyn etkinliğinin
onNewIntent()
parametresine göre yöntemidir. Ebeveyn etkinliğindestandard
başlatma modu varsa veup
amacıFLAG_ACTIVITY_CLEAR_TOP
değerini, geçerli etkinliği ve şunu içermiyor: üst öğe yığından çıkarılır ve gezinme amacını almak için üst etkinliğin yeni bir örneği oluşturulur."singleInstance"
modu ayrıca"singleTask"
modundan farklı ve"singleInstancePerTask"
yalnızca tek bir açıdan ele alınır:"singleTask"
veya"singleInstancePerTask"
başlatma modu diğer etkinliklere izin verir."standard"
ve"singleTop"
etkinlik, bu görevin bir parçası olun.CEVAP Öte yandan,
"singleInstance"
etkinliği başka hiçbir bu faaliyetlerin bir parçası olmasını sağlar. Görevdeki tek aktivite bu olmalıdır. Eğer başka bir etkinlik başlatırsa, o etkinlik farklı bir göreve atanır; kasıtlı olarakFLAG_ACTIVITY_NEW_TASK
kullanıldı.Kullanım örnekleri Başlatma modu Birden fazla örnek mi var? Yorumlar Çoğu aktivite için normal lansmanlar "standard"
Evet Varsayılan. Sistem her zaman etkinliğin yeni bir örneğini ve niyeti ona yönlendirir. "singleTop"
Koşula bağlı olarak Etkinliğin bir örneği hedef görevin en üstünde zaten varsa sistem, yeni bir kod oluşturmak yerine amacı onNewIntent()
yöntemine çağrı aracılığıyla bu etkinliğin yeni örneği olabilir.Özel lansmanlar
(genel kullanım için önerilmez)"singleTask"
Koşula bağlı olarak Sistem, yeni bir görevin kökünde etkinlik oluşturur veya aynı ilgi alanına sahip mevcut bir görevdeki etkinliği bulur. Sistem, etkinliğin bir örneği zaten varsa ve görevin kök dizinindeyse sistem bir örnek oluşturmak yerine isteği onNewIntent()
yöntemine çağrı aracılığıyla mevcut örneğe yönlendirir oluşturabilirsiniz."singleInstance"
Hayır Sistemin herhangi bir şey başlatmaması dışında "singleTask"
ile aynıdır. örneği tutan göreve ekleyeceksiniz. Etkinlik her zaman bir üyesi olması gerekir."singleInstancePerTask"
Koşula bağlı olarak Etkinlik yalnızca görevin kök etkinliği olarak çalışabilir. etkinliği oluşturan bir faktördür ve bu nedenle yalnızca bir göreve ekleyeceksiniz. Bununla birlikte, etkinlik farklı görevlerde birden çok kez örneklenebilir. Önceki tabloda gösterildiği gibi
"standard"
varsayılan moddur ve pek çok aktivite için uygun."singleTop"
aynı zamanda bir birçok etkinlik türü için yaygın ve kullanışlı bir başlatma modu sunuyoruz. Diğer modlar"singleTask"
,"singleInstance"
ve"singleInstancePerTask"
, uygun değildir. Bu sebeple de muhtemelen aşina olmadığınız bir etkileşim modeline ve diğer çoğu uygulamadan çok farklıdır.Seçtiğiniz başlatma modundan bağımsız olarak, uygulamanızın veya oyununuzun ve geri dönüp bu etkinliğe döndüğünüzde, ve görevler için geri bildirim gönderin.
Başlatma modları ve
Intent
ile etkileşimleri hakkında daha fazla bilgi edinin. bayraklar, bkz. Görevler ve arka yığın.android:lockTaskMode
- Cihaz şu cihazda çalışırken sistemin bu etkinliği nasıl sunacağını belirler:
görev modunu kilitleyin.
Android, görevleri kilitleme görevi modu olarak adlandırılan, kiosk benzeri kapsamlı bir şekilde çalıştırabilir. Sistem, kilit görevi modunda çalıştığında, cihaz kullanıcıları genellikle bildirimleri göremez, izin verilenler listesindeki uygulamalara erişemez, veya Home uygulaması izin verilenler listesinde değilse ana ekrana dönmesine izin vermez.
Yalnızca bir cihaz politikası denetleyici (DPC) tarafından izin verilenler listesine eklenenler, sistem kilitleme görevi modundayken çalışabilir. Sistem ve ayrıcalıklı uygulamalar kullanıyorsanız ancak izin verilenler listesine eklenmeden kilit görevi modunda çalışabilir.
Değer aşağıdakilerden herhangi biri olabilir
R.attr.lockTaskMode
dize değerleri:Değer Açıklama "normal"
Varsayılan değer. Bu, varsayılan değerdir. Görevler, kilit görevi modunda başlatılmaz ancak telefon ederek oraya ekleyebilirsiniz startLockTask()
."never"
Görevler
lockTask
modunda başlatılmaz ve cihaz kullanıcısı bu görevleri şuradan sabitleyemez: Son kullanılanlar ekranı.Not: Bu mod yalnızca sistemde ve ayrıcalıklı uygulamalarda kullanılabilir. Bu değere sahip ayrıcalığı olmayan uygulamalar
normal
olarak değerlendirilir."if_whitelisted"
DPC bu paketi DevicePolicyManager.setLockTaskPackages()
bu modalways
ile aynıdır, ancak etkinliğinstopLockTask()
önce en son kilit görevi tamamlayabilir. DPC bu paketi yetkilendirmezse modnormal
ile aynı."always"
Bu etkinlikten kaynaklanan görevler her zaman kilit görevi modunda başlatılır. Sistem zaten görev başlatıldığında yeni görev mevcut görevin üstünde başlatılır. Bu modda başlatılan görevler, şunu arayarak kilit görevi modundan çıkabilir:
finish()
.Not: Bu mod yalnızca sistemde ve ayrıcalıklı uygulamalarda kullanılabilir. Bu değere sahip ayrıcalığı olmayan uygulamalar
normal
olarak değerlendirilir.Bu özellik, API düzeyi 23'te kullanıma sunulmuştur.
android:maxRecents
- Son kullanılanlar ekranı. Bu sayıda girişe ulaşıldığında, sistem en güncel olan kullanılan örneği seçin. Geçerli değerler, 1 ile 50 arasında tam sayılardır veya düşük bellekli cihazlarda 1 ile 25 arasındaki değerlerdir. Sıfır geçersiz. Varsayılan değer 16'dır.
android:maxAspectRatio
Etkinliğin desteklediği maksimum en boy oranı. Uygulama çalışırsa daha geniş bir en boy oranına sahip bir cihazda sistem, uygulamayı otomatik olarak sinemaskop efektiyle Uygulamanın belirtilen maksimum en boy oranında çalışabilmesi için ekranın bazı bölümlerini kullanılmadan bırakmak.
Maksimum en boy oranı, cihazın uzun kenarının bölmesinin ondalık biçimi olarak ifade edilir. boyutu daha kısa olan boyutuna bölünür. Örneğin, maksimum en boy oranı 7:3 ise bu özelliğin değerini 2,33 olarak ayarlayın.
Giyilebilir olmayan cihazlarda bu özelliğin değeri 1, 33 veya daha büyük olmalıdır. Giyilebilir cihazlarda bu değer 1.0 veya üzeri olmalıdır. Aksi halde, sistem değer ayarla.
Not: Etkinlikte aşağıdaki durumlardan biri varsa bu özellik yoksayılır:
resizeableActivity
, etkinliğiniz anlamına geldiği için doğru olarak ayarlandı her boyutu destekler.Bu özellik hakkında daha fazla bilgi için bkz. Maksimum en boy oranı tanımlayın.
android:multiprocess
- Etkinliğin bir örneğinin bileşen işleminde başlatılıp başlatılamayacağı
Google'da görmeye alışkın. Mümkünse
"true"
, değilse"false"
olur. Varsayılan değer"false"
değeridir.Normalde bir etkinliğin yeni bir örneği otomatik olarak o etkinliği tanımlayan bir uygulama olduğundan etkinliğin tüm örnekleri aynı bahsedeceğim. Ancak bu işaret
"true"
değerine ayarlanırsa Etkinlik birden fazla işlemde çalışabilir, bu da sistemin örnekleri nerede kullanılırlarsa olsunlar, izinler sağlandığında asla gerekli olmayan veya istenmeyen. android:name
- Etkinliği uygulayan sınıfın adı,
Activity
. Özellik değeri: bir proje yöneticisinin sahip olduğu sınıf adı; örneğin,"com.example.project.ExtracurricularActivity"
. Bununla birlikte, adın ilk karakteri noktaysa Örneğin".ExtracurricularActivity"
gibi, namespace (ad alanı)build.gradle
dosyası.Uygulamanızı yayınladıktan sonra bu adı değiştiremezsiniz (
android:exported="false"
değerini ayarlamadığınız sürece). Varsayılan yoktur. Ad belirtilmelidir. android:noHistory
- Etkinliğin etkinlik yığınından kaldırılıp kaldırılmayacağı ve
finish()
çağırarak tamamlandı yöntemini kullanmayı bıraktığında, kullanıcı sayfadan ayrıldığında görünür. Tamamlanmışsa"true"
ve Değilse"false"
. Varsayılan değer"false"
değeridir."true"
değeri, etkinliğin argümanlarınızı sunarsınız. Bu öğe, görevin etkinlik yığınında kalmaz ve böylece kullanıcı geri dönemez. Böyle durumlarda Aşağıdaki durumlardaonActivityResult()
asla çağrılmaz: bu etkinlikteki bir sonuç için başka bir etkinlik başlatın.Bu özellik API düzeyi 3'te kullanıma sunuldu.
android:parentActivityName
- Etkinliğin mantıksal üst öğesinin sınıf adı. Buradaki ad sınıfla eşleşmelidir
karşılık gelen
<activity>
öğesininandroid:name
özelliğiyle birlikte kullanılamaz.Sistem, hangi etkinliğin ne zaman başlatılacağını belirlemek için bu özelliği okur Kullanıcı, işlem çubuğundaki Yukarı düğmesine dokunur. Sistem bu bilgileri ayrıca etkinlikleri
TaskStackBuilder
ile sentezleyin.4-16 API düzeylerini desteklemek için üst etkinliği,
"android.support.PARENT_ACTIVITY"
değerini belirten bir<meta-data>
öğesiyle de bildirebilirsiniz:<activity android:name="com.example.app.ChildActivity" android:label="@string/title_child_activity" android:parentActivityName="com.example.app.MainActivity" > <!-- Parent activity meta-data to support API level 4+ --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.app.MainActivity" /> </activity>
Yukarı gezinmeyi desteklemek üzere üst etkinliği bildirme hakkında daha fazla bilgi için okuyun. Yukarıda Gezinme.
Bu özellik, API düzeyi 16'da kullanıma sunuldu.
android:persistableMode
Bir etkinlik örneğinin çok daha fazla zaman harcıyor.
Bir görevin kök etkinliği, bu özelliğin değerini
persistRootOnly
kullanıyorsanız yalnızca kök etkinlik korunur. Aksi takdirde, görevin daha üst sıralarında geri yığın incelendikten sonra, bu özelliğin değerinipersistAcrossReboots
korunuyor.Bu özelliği kullanırsanız değerini takip etmek için:
Değer Açıklama persistRootOnly
Varsayılan değer. Sistem yeniden başlatıldığında etkinlik görevi korunur ancak yalnızca kök etkinliğin başlatma amacı kullanılır.
Uygulamanızın başlatma amacı, uygulamanızın kök etkinliğini yüklediğinde etkinliği
PersistableBundle
nesnesi almıyor. Bu nedenle,onSaveInstanceState()
. uygulamanızın kök etkinliğinin bir cihaz genelinde durumunu korumak için yeniden başlat.Not: Bu özellik değeri, uygulamanızın uygulamanızın kök etkinliğinde ayarlanmışsa otomatik olarak çalışır.
persistAcrossReboots
Bu etkinliğin durumu, her bir etkinliğin durumu ile birlikte korunur. daha yüksek geri kendi
persistableMode
özelliği şu şekilde ayarlanmış olmalıdır:persistAcrossReboots
. Bir etkinlikte olarak ayarlanmış birpersistableMode
özelliğipersistAcrossReboots
veyaIntent.FLAG_ACTIVITY_NEW_DOCUMENT
o aktivite ve arkadaki tüm aktivitelerle birlikte saklanmaz.Amaç,
persistableMode
barındıran bir etkinlik yüklediğinde uygulamanızdapersistAcrossReboots
olarak ayarlanırsa etkinliği,PersistableBundle
onCreate()
yöntemi. Bu nedenle,onSaveInstanceState()
. cihaz yeniden başlatıldığı sürece, o etkinliğinpersistableMode
özelliğipersistAcrossReboots
.Not: Bu özellik değeri, uygulamanızın uygulamanızın kökü dışındaki bir etkinlikte ayarlanmış olsa bile etkinliği'ne dokunun.
persistNever
Etkinliğin durumu korunmaz.
Not: Bu özellik değeri, uygulamanızın uygulamanızın kök etkinliğinde ayarlanmışsa otomatik olarak çalışır.
Bu özellik, API düzeyi 21'de kullanıma sunuldu.
android:permission
- Müşterilerin etkinliği başlatmak için sahip olması gereken iznin adı
yanıt vermesini sağlayabilirsiniz. Bir arayan
startActivity()
veyastartActivityForResult()
Belirtilen izin verilmediğinde amacı etkinliğe teslim edilmez.Bu özellik ayarlanmazsa
<application>
. öğeninpermission
özelliğinin geçerli olduğunu unutmayın. Hiçbir özellik ayarlanmazsa etkinlik, izni gerekir.İzinlerle ilgili daha fazla bilgi için bkz. İzinler Uygulama manifesti'ne genel bakış bölümündeki Güvenlik ipuçları.
android:process
Etkinliğin çalıştığı işlemin adı. Normalde bir organizasyonun tüm bileşenleri bir uygulama için oluşturulan varsayılan işlem adında çalıştırıldığında, bu özelliği kullanmanız gerekir. Ancak gerekirse varsayılan işlemi geçersiz kılabilir Bu özelliği kullanarak uygulamanızın bileşenlerini birkaç işlem vardır.
Bu özelliğe atanan ad iki nokta üst üste (
:
) ile başlıyorsa yeni bir uygulamaya özel bir süreç oluşturulur ve etkinlik bu süreçte yürütülür.İşlem adı küçük harfle başlıyorsa etkinlik çalıştırılır buna izin verilmesi gerekir. Bu, farklı uygulamalardaki bileşenlerin bir işlemi paylaşmasına izin verir ve kaynak kullanımını anlatır.
<application>
öğesininprocess
özelliğinin değeri, tüm bileşenler için farklı bir varsayılan işlem adı belirleyebilir.android:relinquishTaskIdentity
Etkinliğin, görevi görür. Kök etkinliğinde bu özelliğin
"true"
olarak ayarlandığı bir görev, temel etkinliğin yerini alırIntent
.Bir sonraki etkinlikte de bu özellik ayarlanmışsa değerini
"true"
ifade ederseIntent
aynı görevi görebilir. Bu işlem, bu özelliğe sahip bir etkinlikle karşılaşılana kadar her etkinlik için devam eder"false"
numaralı telefona. Varsayılan değer"false"
değeridir."true"
olarak ayarlanmış bu özellik, etkinliğinActivityManager.TaskDescription
etiketleri, renkleri ve ve simgeleri Son kullanılanlar ekranında görebilirsiniz.android:requireContentUriPermissionFromCaller
-
İletim sırasında bu etkinliği başlatmak için gereken izinleri belirtir içerik URI'leridir. Varsayılan değer
none
olduğu için belirli bir değer yoktur gerekli. Bu özelliğin ayarlanması, etkinliği kısıtlar . Çağrıyı yapan kişi izin verilmezse etkinlik başlangıcıSecurityException
aracılığıyla reddedilir.Yaptırım işleminin, içindeki içerik URI'leri için geçerli olduğunu unutmayın
Intent.getData()
Intent.EXTRA_STREAM
, veIntent.getClipData()
.'\\;' kullanılarak dize değeri olabilir. '\\n' gibi karakterleri kod dışına alın veya "\\uxxxx" bir unicode karakteri için;
Aşağıdaki sabit değerlerden biri olmalıdır.
Sabit Değer Açıklama yok 0 Varsayılan ayardır. Belirli bir izin gerekli değildir. okuma 1 Çağrıcının, iletilen içerik URI'lerine okuma erişimi olmasını zorunlu kılar. ReadAndWrite 4 Çağrıcının, iletilen içerik URI'lerine hem okuma hem de yazma erişimine sahip olmasını zorunlu kılar. ReadVeyaYazma 3 Çağrıcının, iletilen içerik URI'lerine okuma veya yazma erişimine sahip olmasını zorunlu kılar. yazmak 2 Çağrıyıcının, iletilen içerik URI'lerine yazma erişimine sahip olmasını zorunlu kılar. android:resizeableActivity
-
Uygulamanın çoklu pencere modunu destekleyip desteklemediğini belirtir. Siz bu özelliği
<activity>
veya<application>
öğesine dokunun.Bu özelliği
"true"
olarak ayarlarsanız kullanıcı, etkinliği şurada başlatabilir: Bölünmüş ekran ve serbest biçimli modlar gibi. Özelliği"false"
olarak ayarlarsanız uygulama çok pencereli bir ortam için test edilemez veya optimize edilemez. Sistem, etkinliği, uyumluluk modu uygulanmış çok pencere moduna sokmaya devam eder.Bu özelliğin
"false"
olarak ayarlanması, Ekranda görünen çoklu pencere modunda diğer uygulamalar (ör. pencere içinde pencere) veya diğer ekranlarda da görüntülenebilir. Dolayısıyla bu işareti ayarlamak, uygulamanızın özel kaynak erişimine sahip.Uygulamanız API düzeyi 24 veya üstünü hedefliyorsa ve bir değer belirtmezseniz bu özellik için özelliğin değeri varsayılan olarak
"true"
değerine ayarlanır.Uygulamanız API düzeyi 31 veya üstünü hedefliyorsa bu özellik küçük ve büyük uygulamalarda farklı çalışır ekranlar:
- Büyük ekranlar (sw >= 600 dp): Tüm uygulamalar çoklu pencere modunu destekler. Bu özellik,
uygulamanın çoklu pencere modunu destekleyip desteklemediği değil, yeniden boyutlandırıp boyutlandıramayacağımızı belirler. Eğer
resizeableActivity="false"
, uygulama gerektiğinde uyumluluk moduna alınır görüntüleme boyutlarına uymasını sağlar. - Küçük ekranlar (sw < 600 dp):
resizeableActivity="true"
ve minimum etkinliğin genişliği ve minimum yüksekliği birden fazla pencere koşullarını karşılamalıdır. çoklu pencere modunu destekler.resizeableActivity="false"
ise uygulama etkinliğin minimum genişlik ve yüksekliğinden bağımsız olarak çoklu pencere modunu destekler.
Not: Cihaz üreticileri API düzeyi 31'i geçersiz kılabilir gösterir.
Bu özellik, API düzeyi 24'te eklendi.
Not: Bir görevin kök etkinlik değeri tüm görevde başlatılan başka aktivitelerdir. Yani, projenizin kök etkinliği yeniden boyutlandırılabilirse sistem, bu tablodaki diğer tüm etkinlikleri yeniden boyutlandırabilirsiniz. Kök etkinliği yeniden boyutlandırılamıyorsa yeniden boyutlandırılamaz.
- Büyük ekranlar (sw >= 600 dp): Tüm uygulamalar çoklu pencere modunu destekler. Bu özellik,
uygulamanın çoklu pencere modunu destekleyip desteklemediği değil, yeniden boyutlandırıp boyutlandıramayacağımızı belirler. Eğer
android:screenOrientation
Etkinliğin istenen yönü.
Bir etkinlik ekranın tamamını kapladığında, istenen yön şurada öneri olarak işlev görür: o ekrandaki yönü istenen değerle eşleşecek şekilde değiştirin. Bu da ekranın fiziksel yönden farklı olan ve kullanıcının uygulamayı kullanmaya devam etmesi için cihazı döndürmesi gerekir. Android 12'de (API düzeyi) 31) ve sonraki sürümleri kullanıyorsanız cihaz üreticileri, cihazları tek tek yapılandırabilir. ekran (ör. katlanabilir cihazın tablet boyutundaki ekranı) bir etkinliğin kullanıcının tercih ettiği yönde sinemaskop efektiyle kapatılmasını sağlar. Bu Böylece kullanıcının yönlendirmesine gerek kalmadan Aktivitenin yönü, istenen yönüyle eşleşir. döndürebilir.
Çoklu pencere modunda, istenen yön, görüntü alanının geneli için bir öneri Yönü. Etkinlik sineyboxed, istenen etkinliğe uygulanan sinemaskop efektini etkiler.
Değer, aşağıdaki dizelerden herhangi biri olabilir:
"unspecified"
Varsayılan değerdir. Yönü sistem seçer. Politika, ve dolayısıyla belirli bağlamlarda yapılan seçimler, cihazdan cihaza geçebilmektedir. "behind"
Hemen altındaki etkinlikle aynı yöne gösterir. "landscape"
Yatay yön (ekranın yüksekliğinden daha geniştir). "portrait"
Dikey yön (ekran genişliğinden daha uzundur). "reverseLandscape"
Yatay yönlü, normal manzaranın tersi yönde. API düzeyi 9'da eklendi. "reversePortrait"
Dikey yön, normal portrenin tersi yönde. API düzeyi 9'da eklendi. "sensorLandscape"
Yatay yön, ancak cihaza bağlı olarak normal veya ters yatay olabilir. görebilirsiniz. Sensör, kullanıcı sensöre dayalı döndürmeyi kilitlemiş olsa bile kullanılır. API düzeyi 9'da eklendi. "sensorPortrait"
Dikey yön, ancak cihaza bağlı olarak normal veya ters dikey olabilir görebilirsiniz. Sensör, kullanıcı sensöre dayalı döndürmeyi kilitlemiş olsa bile kullanılır. Ancak, olduğu için, baş aşağı döndürmeye izin verilmeyebilir. API düzeyi 9'da eklendi. "userLandscape"
Yatay yön, ancak cihaza bağlı olarak normal veya ters yatay olabilir. sensör ve kullanıcının tercihi. API düzeyi 18'de eklendi. "userPortrait"
Dikey yön, ancak cihaza bağlı olarak normal veya ters dikey olabilir sensör ve kullanıcının tercihi. Ancak cihaz yapılandırmasına bağlı olarak baş aşağı döndürmeye izin verilmeyebilir. API düzeyi 18'de eklendi. "sensor"
Cihazın yön sensörü, yönü belirler. Resmin yönü , kullanıcının cihazı nasıl tuttuğuna bağlıdır. Kullanıcı sayfayı döndürdüğünde değişir. olanak tanır. Ancak bazı cihazlar varsayılan olarak olası dört yönün tümüne dönmez. Alıcı: dört yönün de kullanılması için "fullSensor"
kullanın. Sensör, kullanıcı tarafından sensöre dayalı dönmeyi kilitle."fullSensor"
Cihaz yön sensörü, dört yönden herhangi birinin yönünü belirler. Bu, "sensor"
işlevine benzer, ancak olası dört ekran yönünden herhangi birine olanak tanır cihaz normalde neyi desteklediğinden bağımsız olarak gelir. Örneğin, bazı cihazlar normalde ancak ters yatay olarak ayarlayabilirsiniz. API düzeyi 9'da eklendi."nosensor"
Yön, fiziksel yön sensörüne başvurulmadan belirlenir. Sensör yoksayılır. Bu nedenle, kullanıcının cihazı hareket ettirme şekline göre ekran dönmez. "user"
Kullanıcının geçerli tercih edilen yönü. "fullUser"
Kullanıcı sensöre dayalı döndürmeyi kilitlediyse bu, user
ile aynı şekilde davranır. aksi takdirde,fullSensor
ile aynı şekilde davranır ve olası dörtten herhangi birine izin verir ekran yönleriyle uyumlu. API düzeyi 18'de eklendi."locked"
Yönü (hangisi geçerliyse) geçerli dönmesine kilitler. API düzeyi 18'de eklendi. Not: Yatay veya dikey değerlerden birini bildirdiğinizde, etkinliğin hangi yönde düzenlendiği için kesin bir gereksinim olarak kabul edilir. Belirttiğiniz değer, Google Play gibi hizmetlere göre filtreleme yapılmasını sağladığından uygulamanız yalnızca etkinliklerinizin gerektirdiği yönü destekleyen cihazlarda kullanılabilir. Örneğin, Örneğin,
"landscape"
,"reverseLandscape"
veya"sensorLandscape"
, uygulamanız yalnızca yatay yönde.Ayrıca açıkça beyan edin: Uygulamanız
<uses-feature>
ile dikey veya yatay yönde<uses-feature android:name="android.hardware.screen.portrait"/>
gibi öğe. Bu bir filtreleme davranışıdır Google Play ve bunu destekleyen diğer hizmetler tarafından sunulmaktadır ve platform uygulamanızın, cihaz yalnızca belirli yönleri desteklediğinde yüklenip yüklenemeyeceğini kontrol edebilirsiniz.android:showForAllUsers
-
Cihazın mevcut kullanıcısı şu durumdayken etkinliğin gösterilip gösterilmeyeceği Etkinliği başlatan kullanıcıdan farklı. Bu özelliği ayarlayabilirsiniz.
"true"
veya"false"
gibi değişmez bir değere ya da özelliğini, boole değeri.Bu özellik, API düzeyi 23'te eklendi.
android:stateNotNeeded
- Etkinliğin sonlandırılıp başlatılamayacağı ve başarıyla yeniden başlatılıp başlatılamayacağı
başka bir e-posta alırsınız. Yeniden başlatılabiliyorsa
"true"
önceki durumuna başvurulmadan, önceki durumundaysa"false"
durumu gerekli. Varsayılan değer"false"
değeridir.Normalde bir etkinlik, kaynakları korumak için geçici olarak kapatılmadan önce
onSaveInstanceState()
. yöntemi çağrılır. Bu yöntemde etkinliğin mevcut durumuBundle
nesne (bu daha sonra Etkinlik gerçekleştiğindeonCreate()
başlatılır. Bu özellik"true"
olarak ayarlanırsaonSaveInstanceState()
çağrılamayabilir veonCreate()
testi geçildiBundle
yerinenull
. Bu durum, başlatılmasıyla ilgili bir sorun ortaya çıktığında."true"
ayarı, etkinliğin başlamadan önce başlatılabileceği anlamına gelir korunuyor durumu. Örneğin, Ana ekran, bu ayarın kaldırılmasını önlemek için bu ayarı kullanır bir şekilde kilitlenir. android:supportsPictureInPicture
-
Etkinliğin desteklenip desteklenmediğini belirtir pencere içinde pencere ekran.
android:taskAffinity
Etkinlikle alakalı olan görev. Şu etkinlikleri içeren etkinlikler: kavramsal olarak aynı göreve ait olup olmadığını "uygulama" çok önemli ayrıntılar içerir. Görevin ilgisi kök etkinliğinin ilgisi ile belirlenir.
Bu yakın ilgi alanı iki şeyi belirler: etkinliğin yeniden üst öğe olarak atandığı görev (bkz.
allowTaskReparenting
özelliği) ve lansmanda etkinliği barındıran göreviFLAG_ACTIVITY_NEW_TASK
ile tıklayın.Varsayılan olarak, bir uygulamadaki tüm etkinlikler aynı yakın ilgi alanına sahiptir. Siz bu özelliği ayarlayarak farklı şekillerde gruplandırabilir, hatta aynı görevde farklı uygulamalarda tanımlanan aktiviteler. Alıcı: etkinliğin herhangi bir göreve benzemediğini belirtin, bunu boş bir dizeye dönüştürür.
Bu özellik ayarlanmazsa etkinlik, yakın ilgi alanı grubunu devralır belirtiliyor. Bkz.
<application>
. öğenintaskAffinity
özelliğini gönderin. Bir uygulama için varsayılan yakın ilgi alanının adı ad alanı,build.gradle
dosyası.android:theme
- Etkinliğin genel temasını tanımlayan bir stil kaynağına referans
Bu işlem, etkinliğin bağlamını bu ayarı kullanacak şekilde otomatik olarak ayarlar
theme
ve şunları da yapabilir: "başlatma"ya neden olur animasyonları daha iyi hale getirmek için tam olarak neye benzediğini göstermektir.Bu özellik ayarlanmazsa etkinlik, ve genel olarak baştan sona
<application>
. öğenintheme
özelliğini gönderin. Bu özellik de ayarlanmazsa varsayılan sistem teması kullanılır. Daha fazla Stiller ve temalar bölümüne bakın. android:uiOptions
Bir etkinliğin kullanıcı arayüzü için ek seçenekler. Aşağıdaki değerlerden biri olmalıdır.
Değer Açıklama "none"
Fazladan kullanıcı arayüzü seçeneği yoktur. Bu, varsayılan ayardır. "splitActionBarWhenNarrow"
Şuraya bir çubuk ekler: ekranın alt kısmına giderek uygulama çubuğunda işlem öğelerini görüntüleyin. işlem çubuğuna Örneğin, telefondaki dikey moddayken yatay alan için sınırlandırılmıştır. Küçük bir resim yerine ekranın üst kısmındaki uygulama çubuğunda görünen işlem öğesi sayısını; uygulama çubuğu işlem öğeleri için üst gezinme bölümüne ve alttaki çubuğa bölün. Bu, müşteri hizmetleri Yalnızca işlem öğeleri için değil, aynı zamanda gezinme ve başlık için de kullanılabilir alan yaratıldı. öğelerini üst sıralarda bulabilirsiniz. Menü öğeleri iki çubuk arasında ayrılmaz. Her zaman gösterilir birlikte. Uygulama çubuğu hakkında daha fazla bilgi için Uygulama çubuğunu ekleme bölümüne bakın.
Bu özellik, API düzeyi 14'te eklendi.
android:windowSoftInputMode
- Etkinliğin ana penceresinin,
klavye kısayollarını da kullanabilirsiniz. Bu özelliğin ayarı,
şeyler:
- Etkinlik haline geldiğinde klavyenin gizlenip görünür olup olmayacağı odak noktasıdır.
- Etkinliğin ana penceresinin yumuşak klavyeye veya içeriğine yer açmak için boyutu küçültüldü Pencerenin bir bölümü üst üste kaplandığında geçerli odağı görünür hale getirmek için klavyeyi kullanın.
Ayar, aşağıdaki tabloda listelenen değerlerden biri veya bir
"state..."
değeri ve bir"adjust..."
kombinasyonu değer. Her iki grupta da birden fazla değer belirlemek (ör. birden çok)"state..."
değerleri için tanımlanmamış sonuçlar var. Bağımsız değerler, aşağıdaki örnekte gösterildiği gibi bir dikey çubukla (|
) ayrılır:<activity android:windowSoftInputMode="stateVisible|adjustResize" ... >
Burada belirlenen değerler (
"stateUnspecified"
ve"adjustUnspecified"
) temada ayarlanan değerleri geçersiz kılar.Değer Açıklama "stateUnspecified"
Yazılım klavyesinin gizli veya görünür olup olmadığı belirtilmemiş. Sistem, uygun bir eyalet veya temadaki ayara bağlıdır. Bu, sanal klavye davranışı için varsayılan ayardır.
"stateUnchanged"
Yazılım klavyesi en son olduğu durumda tutulur. (etkinlik öne çıktığında) görünür veya gizli tutun. "stateHidden"
Kullanıcı etkinliği seçtiğinde sanal klavye gizlenir. (kullanıcı olumlu bir şekilde web sitesine gittiğinde) geri dönmek yerine etkin bir etkinlikten kaçının. "stateAlwaysHidden"
Etkinliğin ana penceresi her zaman ekranda gizlenir giriş odağı var. "stateVisible"
Kullanıcı klavyeyi seçtiğinde, sanal klavye görünür hale gelir. etkinlik (kullanıcının olumlu bir şekilde ileri gittiğinde) geri dönmek yerine etkinliğe döndüğünüzde etkinliği'ne dokunun. "stateAlwaysVisible"
Pencere giriş odağını aldığında klavye görünür. "adjustUnspecified"
Etkinliğin ana penceresinin yeniden boyutlandırılıp boyutlandırılmayacağı klavyeye veya içeriğe yer açmak için geçerli odağı ekranda görünür hale getirmek için pencere kaydırmasının düğmesini seçin. Sistem, kullanıcının reklamına göre bu modlardan birini görüntülenip görüntülenmeyeceğini belirleyen düzen görünümleri içeriğini kaydırabilir. Böyle bir görünüm varsa pencere her şeyin daha iyi gitmesini sağlayabileceğini varsayarak daha küçük bir alanda görünür olmasını sağlayın. Bu, ana pencerenin davranışı için varsayılan ayardır.
"adjustResize"
Etkinliğin ana penceresi, her zaman yeni bir etkinlik için klavyedeki klavye kısayollarını kullanabilirsiniz. "adjustPan"
Etkinliğin ana penceresi, yumuşak geçişe yer açmak için yeniden boyutlandırılmaz klavye kısayollarını da kullanabilirsiniz. Bunun yerine, pencerenin içeriği otomatik olarak ekranda hiçbir zaman klavyenin görünmesini engellemeyecek şekilde kaydırın, Kullanıcılar yazdıklarını her zaman görebilir. Bu, genellikle daha az yeniden boyutlandırmaktan daha iyidir, çünkü kullanıcının yumuşak pencerenin belirsiz kısımlarıyla etkileşime girmesini sağlar. Bu özellik API düzeyi 3'te kullanıma sunuldu.
- tanıtıldığı yer:
- Şunlar hariç tüm özellikler için API düzeyi 1:
noHistory
vewindowSoftInputMode
, API'ye eklendi 3. seviye. - ayrıca bkz.:
<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: 2024-08-22 UTC.
[null,null,["Son güncelleme tarihi: 2024-08-22 UTC."],[],[]]