Görev, kullanıcının belirli bir görevi tamamlamaya çalışırken uygulamanızda bir şey yapın. Bu etkinlikler, geri yığınını açın.
Örneğin, bir e-posta uygulaması yeni mesajların listesini gösteren bir etkinliğiniz olabilir. Kullanıcı bir mesajı görürseniz o mesajı görüntülemek için yeni bir etkinlik açılır. Bu yeni etkinlik eklendi geri çevirebilir. Ardından, kullanıcı Geri'ye dokunduğunda veya geri hareket ettiğinde yeni etkinlik tamamlanıp yığından atılır.
Bir görevin yaşam döngüsü ve arka yığını
Cihazın ana ekranı, çoğu görev için başlangıç noktasıdır. Kullanıcı uygulama başlatıcıdaki veya Ana ekrandaki bir uygulamanın ya da kısayolun simgesini o uygulamanın görevi ön plana çıkıyor. Uygulama için bir görev yoksa yeni bir görev oluşturulur ve ana etkinliği görebilirsiniz. kök etkinlik olması gerekir.
Mevcut etkinlik başka bir etkinlik başladığında, yeni etkinlik en üste aktarılır odaklanıyor. Önceki etkinlik yığında kalır ancak durduruldu. Bir etkinlik durdurulduğunda, sistem etkinliğin mevcut durumunu korur. kullanıcı arayüzü. Kullanıcı geri işlemini gerçekleştirdiğinde, geçerli etkinlik yüksekten patladı ve yok etti. İlgili içeriği oluşturmak için kullanılan önceki etkinlik devam eder ve kullanıcı arayüzünün önceki durumu geri yüklenir.
Şuradaki etkinlikler: yığınlar hiçbir zaman yeniden düzenlenmez, yalnızca doğru sıraya itilir ve yığından çıkartılır. Geçerli etkinlik tarafından başlatıldı ve kullanıcı tarafından kapatıldı dokunarak erişebilirsiniz. Bu nedenle, arka yığın son giren, ilk çıkar nesne yapısı. Şekil 1’de ve arka yığından fırlatılan aktiviteleri gösterir.
![](https://developer.android.com/static/images/fundamentals/diagram_backstack.png?authuser=0000&hl=tr)
Kullanıcı geri dokunmaya veya Geri hareketi yapmaya devam ettikçe gruptaki her etkinlik kullanıcı Ana Sayfa'ya dönene kadar bir öncekini görmek üzere kapatılır ekranına veya görev başlatıldığında devam eden etkinliğe göre devam edebilirsiniz. Tüm etkinlikler yığından kaldırılırsa görev artık mevcut olmaz.
Root başlatıcı etkinlikleri için geri dokunma davranışı
Root başlatıcı etkinlikleri, bir amaç bildiren etkinliklerdir
her ikisini de içeren bir filtre
ACTION_MAIN
ve
CATEGORY_LAUNCHER
.
Bu etkinlikler, uygulamanıza ilk giriş noktası olarak işlev gördükleri için benzersizdir:
Uygulama başlatıcıyı kullanır ve bir görevi başlatmak için kullanılır.
Kullanıcı kök başlatıcı etkinliğinden dokunduğunda veya Geri hareketini yaptığında sistem Android sürümüne bağlı olarak etkinliği farklı şekilde ele alma cihaz çalışıyor.
- Android 11 ve önceki sürümlerde sistem davranışı
- Sistem, etkinliği tamamlar.
- Android 12 ve sonraki sürümlerde sistem davranışı
Sistem, etkinliği ve görevini önemli bir noktadır. Bu davranış, aşağıdaki durumlarda varsayılan sistem davranışıyla eşleşir: Ana ekran düğmesini veya hareketi kullanarak bir uygulamadan çıkın.
Çoğu durumda, bu davranış, kullanıcıların uygulamanızı daha hızlı bir şekilde devam ettirebileceği anlamına gelir yerine sıcak durumdan uygulamayı soğuk moddan tamamen yeniden başlatmak durumu hakkında daha fazla bilgi edinin.
Özel geri gezinme sağlamanız gerekiyorsa geçersiz kılmak yerine AndroidX Activity API'lerinin kullanılmasını öneririz
onBackPressed()
. AndroidX Activity API'leri otomatik olarak sisteme müdahale eden bileşen yoksa uygun sistem davranışı Geri dokunma.Ancak uygulamanız, İşlenecek öğe sayısı:
onBackPressed()
Geri gezinme ve etkinliği bitirin, uygulamanızı şu şekilde güncelleyin: yerinesuper.onBackPressed()
üzerinden gönderebilirsiniz. Telefon etmesuper.onBackPressed()
, şu durumlarda etkinliği ve görevini arka plana taşır: ve kullanıcılara daha tutarlı bir gezinme deneyimi sunar. özellikler.
Arka plan ve ön plan görevleri
![](https://developer.android.com/static/images/fundamentals/diagram_multitasking.png?authuser=0000&hl=tr)
Görev, bir kullanıcı arka plan yeni bir görev yazdığında veya Ana ekrana gittiğinde Arka plandayken tüm aktiviteler durdurulmuş hâldedir ancak görevin arka yığını bozulmadan kalır. odağı kaybederken Şekil 2’de gösterildiği gibi başka bir görev gerçekleşir. CEVAP Kullanıcılar görevlerine kaldıkları yerden devam edebilmeleri için ön plana dönebilir. kapalı.
Şu andaki Görev A için aşağıdaki görev akışını düşünün: yığınında iki etkinlik mevcut etkinlik altında olmak üzere üç etkinlik vardır:
Kullanıcı, Ana Sayfa düğmesini veya hareketini kullanır, ardından şuradan yeni bir uygulama başlatır: uygulama başlatıcıyı.
Ana ekran göründüğünde A Görevi arka plana gider. Yeni uygulama başladığında sistem, söz konusu uygulama için kendi yığınıyla bir görev (B görevi) başlatır bir dizi etkinliktir.
Kullanıcı, uygulamayla etkileşimde bulunduktan sonra tekrar Ana Sayfa'ya döner ve başlatmıştınız.
Şimdi A görevi ön plana geliyor. Bu gruptaki üç aktivite de aynı olur ve yığının üst kısmındaki etkinlik devam eder. Bu noktada, Kullanıcı, Ana Sayfaya gidip uygulama simgesini seçerek B Görevine de geri dönebilir veya Son Kullanılanlar tıklayın.
Birden fazla etkinlik örneği
![](https://developer.android.com/static/images/fundamentals/diagram_multiple_instances.png?authuser=0000&hl=tr)
Arka yığındaki etkinlikler hiçbir zaman yeniden düzenlenmeyeceğinden, uygulamanız kullanıcıların birden fazla etkinlikten veya yeni bir etkinlikten belirli bir etkinliği başlatmasını otomatik olarak oluşturulan bir etkinlik örneğinin oluşturulup yığınına aktarıldığı Böylece, etkinliğin önceki örnekleri en üste getirilir. Bu nedenle, uygulamanızdaki etkinlik, farklı kullanıcılardan bile birçok kez örneklenebilir görevlerden sorumlusunuz.
Kullanıcı, Geri düğmesini kullanarak geri giderse sırasında etkinliğin örnekleri, sağladıkları sırayla her biri kendi kullanıcı arayüzü durumuna sahip. Ancak, bu ayarı değiştirebilirsiniz davranışını daha iyi anlamanızı sağlar. Öğren Yönetim bölümünde bununla ilgili daha fazla bilgi görevler hakkında daha fazla bilgi edinin.
Çok pencereli ortamlar
Uygulamalar aynı anda çok pencereli bir ortamı, Android 7.0'da (API) desteklenir sistem, her pencere için görevleri ayrı ayrı yönetir. Her biri penceresinde birden fazla görev bulunabilir. Aynı durum Android uygulamaları Chromebook'lar: sistem, görevleri veya görev gruplarını belirli bir her dönem için geçerli olacaktır.
Yaşam döngüsü özeti
Etkinlikler ve görevler için varsayılan davranışı özetlemek için:
A Etkinliği B Etkinliği başladığında, A Etkinliği durdurulur ancak sistem değerini korur. Örneğin, kaydırma konumu ve formlara girilen metinler. Eğer Kullanıcı B Etkinliği, A Etkinliği'ndeyken geri dokunur veya Geri hareketini kullanır durumu geri kazanılarak devam eder.
Kullanıcı, Ana Sayfa düğmesini veya hareketi kullanarak bir görevden ayrıldığında, geçerli olan durdurulur ve görev arka plana alınır. Sistem, durum hakkında bilgi edindiniz. Kullanıcı daha sonra başlatma simgesini seçtiğinizde, görev ön plana çıkarıp etkinliği grubun en üstünde devam ettirir.
Kullanıcı geri dokunursa veya Geri hareketini yaparsa, geçerli etkinlik şuradan açılır: yıkıp yıkmaktı. Yığındaki önceki etkinlik devam eder. Zaman bir etkinlik kaldırıldığında sistem, etkinliğin durumunu korumaz.
Bu davranış, root başlatıcı etkinlikleri için farklıdır Uygulamanız Android 12 veya sonraki sürümleri çalıştıran bir cihazda çalışıyorsa.
Etkinlikler, diğer görevlerden bile birden çok kez örneklenebilir.
Görevleri yönetin
Android, görevleri ve arka yığınları tüm faaliyetlerin sırayla aynı görevde sırayla başlatıldığı anlamına gelir. görebilirsiniz. Bu, çoğu uygulama için idealdir ve genellikle faaliyetlerinizin görevlerle nasıl ilişkili olduğu veya bunların arka planda yığını.
Ancak, normal davranışı bölmeye karar verebilirsiniz. Örneğin, şu anda uygulamanızdaki bir etkinliğin yeni bir göreve başlamasını isteyebilirsiniz. başladı, karar verebilir. Veya isterseniz bunun yerine bunun mevcut bir örneğini örnek oluşturarak arkadaki yığının en üstünde yeni bir örnek oluşturabilirsiniz. Ya da arka yığınınızın kök etkinliği dışındaki tüm etkinliklerden temizlenmesini istiyorsanız Kullanıcı görevden ayrıldığında devreye girer.
Bu gibi işlemleri ve daha fazlasını şuradaki özellikleri kullanarak yapabilirsiniz:
<activity>
manifest öğesi
ve işaretler verdiğiniz amaç için
startActivity()
.
Görevleri yönetmek için kullanabileceğiniz ana <activity>
özellikleri şunlardır:
taskAffinity
launchMode
allowTaskReparenting
clearTaskOnLaunch
alwaysRetainTaskState
finishOnTaskLaunch
Kullanabileceğiniz temel intent işaretleri şunlardır:
Aşağıdaki bölümlerde, bu manifest özelliklerinin nasıl kullanılacağı açıklanmaktadır. ve amaç işaretleri ile aktivitelerin görevlerle nasıl ilişkilendirildiğini ve davranır.
Görevlerin ve aktivitelerin nasıl ilerlediğine dair Son kullanılanlar ekranında temsil edilir ve yönetilir. Normalde, görev ve etkinliklerinizin düzende nasıl temsil Son kullanılanlar ekranını görüntüler ve bu davranışı değiştirmeniz gerekmez. Daha fazla Son kullanılanlar ekranı'na bakın.
Başlatma modlarını tanımlama
Başlatma modları, yeni bir etkinlik örneğinin nasıl ilişkilendirileceğini tanımlamanızı sağlar daha iyi olur. Başlatma modlarını iki şekilde tanımlayabilirsiniz: aşağıdaki bölümlerde bulabilirsiniz:
-
Manifest dosyanızda bir etkinlik bildirdiğinizde, etkinlikleri görevlerle ilişkilendirir.
-
Aradığınızda
startActivity()
ya da dosyaya bir bayrak nasıl (veya diğeriyle) ilişkiliIntent
yeni aktivite mevcut görevle ilişkilendirilir.
A Etkinliği B Etkinliğini başlatırsa B Etkinliği kendi manifest dosyasında ve A etkinliği bir intent işareti kullanabilir. kullanarak B aktivitesinin mevcut görevle nasıl ilişkilendirilebileceğini sorabilirsiniz.
Her ikisi de aktiviteler B aktivitesinin görevle nasıl ilişkilendirildiğini tanımlar, ardından A etkinliği bu talep, B Etkinliği'nin talebi üzerine, manifest dosyasında tanımlanmıştır.
Manifest dosyasını kullanarak başlatma modlarını tanımlayın
Manifest dosyanızda bir etkinlik bildirirken,
bir görevle ilişkilendirilen etkinlik
<activity>
öğesinin
launchMode
özelliği ile birlikte kullanılabilir.
launchMode
özelliğine atayabileceğiniz beş başlatma modu vardır:
"standard"
- Varsayılan mod. Sistem, görevdeki etkinliğin yeni bir örneğini oluşturur başladığını ve niyeti ona yönlendirdiğini gösterir. Etkinlik, örneklendirildiğinde her örnek farklı görevlere ait olabilir bir görevin birden fazla örneği olabilir.
"singleTop"
- Etkinliğin bir örneği mevcut görevin üst kısmında zaten varsa
sistem, çağrıyı kullanarak niyeti bu örneğe yönlendirir
onNewIntent()
yöntemini kullanın. Etkinlik örneklendirildiğinde her örnek farklı görevlere, bir görevin birden fazla örneği olabilir (ancak bu yalnızca en üstteki etkinlik toplamının, etkinliğin mevcut bir örneği olmaması gerekir.
Örneğin, bir görevin arka yığınının üst tarafta B, C ve D etkinlikleri (yani yığın A-B-C-D şeklinde, D üsttedir). Amaç geldiğinde D tipi bir aktivite geliyor. D için varsayılan
"standard"
başlatılıyorsa modunda, sınıfın yeni bir örneği başlatılır ve yığın A-B-C-D-D haline gelir. Bununla birlikte, D'nin başlatma modu"singleTop"
olduğunda mevcut D örneği niyetionNewIntent()
üzerinden alırsa çünkü yığının en üstündedir ve yığın A-B-C-D olarak kalır. Eğer, diğer yandan intent, B türü bir etkinlik için gelirse yığında, başlangıç modu"singleTop"
olsa bile geçerlidir."singleTask"
- Sistem, yeni bir görevin kökünde etkinliği oluşturur veya
benzer ilgiye sahip mevcut bir görevdeki
etkinliği ifade eder.
etkinlik varsa sistem
çağrısı ile mevcut örneğe yeniden istek gönderme
onNewIntent()
yöntemini kullanmanızı öneririz. Bu arada diğer tüm etkinlikleri yok eder. ziyaret edin.
"singleInstance"
.- Sistem başka herhangi bir sunucu başlatmaz ancak bu davranış
"singleTask"
ile aynıdır. örneği içeren göreve ekleyeceksiniz. Etkinlik her zaman bir üyesi olması gerekir. Bu tarafından başlatılan tüm etkinlikler şurada açılır: ayrı bir görev düşünebiliriz.
"singleInstancePerTask"
.- Etkinlik yalnızca görevin kök etkinliği,
etkinliği oluşturan bir faktördür. Dolayısıyla bir örneği
hakkında bilgi edindiniz.
singleTask
başlatma modunun aksine bu, Bir etkinliğin farklı görevlerde birden fazla örneğinde başlatılabilmesiFLAG_ACTIVITY_MULTIPLE_TASK
veyaFLAG_ACTIVITY_NEW_DOCUMENT
emin olun.
Başka bir örnek olarak, Android Tarayıcı uygulaması,
etkinlik her zaman singleTask
belirterek kendi görevinde açılır
<activity>
uygulamasında başlatma modu
öğesine dokunun. Yani, uygulamanız Android'i açmak isterse
Tarayıcı etkinliği, uygulamanızla aynı göreve yerleştirilmemiştir. Bunun yerine
Tarayıcı için yeni bir görev başlatılırsa veya Tarayıcının zaten bir görevi varsa
arka planda çalışıyorsa bu görev,
isteyebilirsiniz.
Bir etkinliğin yeni bir görevde mi yoksa ilk önce olan
geri düğmesi ve hareketi her zaman o etkinliği başlatan
önceki etkinliğe taşınır. Ancak şöyle bir etkinlik başlatırsanız
belirtir
singleTask
başlatma modu ve bu etkinliğin bir örneği şurada bulunur:
söz konusu arka plan görevinin tamamını ön plana çıkarır. Bu noktada
arka yığın, bu sonda başlayan görevdeki tüm aktiviteleri
üst kısımda yer alır. Şekil 4'te bu tür senaryo gösterilmektedir.
![](https://developer.android.com/static/images/fundamentals/diagram_backstack_singletask_multiactivity.png?authuser=0000&hl=tr)
"singleTask"
modu arka gruba eklenir. Etkinlik
kendi arka yığınına sahip bir arka plan görevinin
parçası olduğunu varsayalım.
üst yığının tamamı da öne çıktığından
görevi görebilir.Manifest dosyasında başlatma modlarını kullanma hakkında daha fazla bilgi için
<activity>
öğesi dokümanları.
Intent flag'lerini kullanarak başlatma modlarını tanımlama
Bir etkinlik başlatırken etkinliğin varsayılan ilişkilendirmesini değiştirebilirsiniz
teslim ettiğiniz amaca işaretler ekleyerek
startActivity()
.
Varsayılan davranışı değiştirmek için kullanabileceğiniz işaretler aşağıda verilmiştir:
FLAG_ACTIVITY_NEW_TASK
Sistem, etkinliği yeni bir görevde başlatır. bu görev, yeni bir elektronik tabloya getirildiğinde durumu geri yüklenir ve etkinlik, yeni niyeti
onNewIntent()
.Bu,
"singleTask"
ile aynı davranışa sahiptirlaunchMode
değer tartışıldı ele alacağız.FLAG_ACTIVITY_SINGLE_TOP
Başlatılan etkinlik o anki etkinlikse arka sayfanın üst kısmında yığınını çıkarırsa mevcut örnek,
onNewIntent()
adresine gitmeyi tercih edebilirsiniz.Bu,
"singleTop"
ile aynı davranışa sahiptir Önceki bölümde açıklananlaunchMode
değeri.FLAG_ACTIVITY_CLEAR_TOP
Başlatılan etkinlik zaten geçerli görevde çalışıyorsa bunun yerine, söz konusu etkinliğin yeni bir örneğini sistemi, üzerindeki diğer tüm etkinlikleri yok eder. Amaç etkinliğin devam ettirilen örneğine, şimdi üstte,
onNewIntent()
Bu davranışı sağlayan
launchMode
özelliği için herhangi bir değer yoktur.FLAG_ACTIVITY_CLEAR_TOP
, çoğunlukla şununla birlikte kullanılır:FLAG_ACTIVITY_NEW_TASK
. Bu flag'ler birlikte kullanıldığında başka bir görevdeki mevcut bir etkinliği bulup bir konuma yerleştirin harekete geçebilir.
Yakın ilgi alanlarını yönet
Yakın ilgi alanı, bir etkinliğin hangi görevi "tercih ettiğini" gösterir. gerekiyor. Ölçüt Varsayılan olarak, aynı uygulamadaki tüm etkinlikler birbirine yakındır: "tercih ettikleri" sahip olmanız gerekir.
Ancak, bir etkinlik için varsayılan yakın ilgi alanını değiştirebilirsiniz. Tanımlanan etkinlikler Aynı uygulamada tanımlanan etkinlikler ve farklı uygulamalardaki benzerlikler göreve farklı yakın ilgi alanlarına atanabilir.
taskAffinity
kullanarak bir etkinliğin yakın ilgi alanını değiştirebilirsiniz
<activity>
özelliğinin özelliği
öğesine dokunun.
taskAffinity
özelliği,
varsayılan paket adı
<manifest>
öğesini kullanın, çünkü sistem varsayılan görevi tanımlamak için bu adı
göstermenizi sağlar.
Yakın ilgi alanı iki durumda ortaya çıkar:
Bir etkinliği başlatan intent,
FLAG_ACTIVITY_NEW_TASK
tıklayın.Bu etkinliğin görevi, varsayılan olarak yeni bir adı
startActivity()
. Arayanla aynı arka gruba aktarılır.Ancak
startActivity()
öğesine iletilen intent,FLAG_ACTIVITY_NEW_TASK
işaretini tıkladığınızda sistem, yeni etkinliği barındırmak için farklı bir görev arar. Çoğu zaman bu yeni bir görevdir. Ancak, böyle olması gerekmez. Bir ve yeni etkinlikle aynı yakınlığa sahip mevcut bir görev etkin bir şekilde yürütülmesi gerekir. Değilse yeni bir görev başlar.Bu işaret bir etkinliğin yeni bir göreve başlamasına neden oluyorsa ve kullanıcı Ana sayfa düğmesi veya hareketi, bırakmak için bir yol olmalıdır. göreve geri dönebilir. Bildirim yöneticisi gibi bazı varlıklar Her zaman harici bir görevde başlatırlar, hiçbir zaman kendilerinin bir parçası olmazlar. ilettikleri amaçlara her zaman
FLAG_ACTIVITY_NEW_TASK
eklerlerstartActivity()
.Projenin gidişatı boyunca bu işaretin etkinliğinizi çağırabileceğini unutmayın. Kullanıcının projeye geri dönmek için örneğin, bir başlatıcı simgesinde, örneğin kök etkinliğinden görevde bir
CATEGORY_LAUNCHER
intent filtresine dokunun. Daha fazla bilgi için görevleri başlatma bölümüne bakın.Bir etkinlik
allowTaskReparenting
olduğunda özelliği"true"
olarak ayarlandı.Bu durumda, etkinlik başladığı görevden sahip olduğu göreve taşınabilir ön planda tutulacağı zaman ne kadar ilgi çekici?
Örneğin, seçilen şehirler bir seyahat uygulamasının parçası olarak tanımlanır. Aynı yakın ilgi alanına sahip varsayılan uygulama yakın ilgi alanıdır ve bu, bu özellikle yeniden üst öğe oluşturmayacaktır.
Etkinliklerinizden biri hava durumu muhabiri etkinliği için, bu rapor başlangıçta etkinliği'ne dokunun. Ancak seyahat uygulamasının görevi ön plana geldiğinde, hava durumu muhabiri etkinliği bu göreve atanır ve bu görev kapsamında gösterilir.
Arkadaki yığını temizle
Kullanıcı bir görevden uzun süre ayrılırsa sistem bu görevi etkinlikleri hariç tutar. Kullanıcı göreve geri döndüğünde yalnızca kök etkinliği geri yüklenir. Sistem, Google Etiket Yöneticisi'ndeki sonrasında kullanıcıların yaptıkları işi terk ettiği uzun süre geri dönüp yeni bir görev hazırladığını öğrendik.
Bu davranışı değiştirmek için kullanabileceğiniz bazı etkinlik özellikleri vardır:
alwaysRetainTaskState
- Bu özellik, bir görevin kök etkinliğinde
"true"
olarak ayarlandığında bu varsayılan davranış gerçekleşmez. Görev, projenin ne zaman etkinliği yüksek olması. clearTaskOnLaunch
Bu özellik, bir görevin kök etkinliğinde
"true"
olarak ayarlandığında görev kullanıcı görevden ayrıldığında ve kullanıcı görevden her ayrıldığında kök etkinliğe silinir. geri döndüğü anlamına gelir. Başka bir deyişle,alwaysRetainTaskState
İlgili içeriği oluşturmak için kullanılan kullanıcı, göreve her zaman ilk haliyle geri dönüyor, (örneğin, bir süre için devam etmesi gerekir.finishOnTaskLaunch
Bu özellik
clearTaskOnLaunch
gibidir. Ancak bir görevin tamamı yerine tek bir aktivite üzerine kuruludur. Ayrıca şunlara da neden olabilir: kök etkinlik dışında tamamlanacak tüm etkinlikler. Ayarlandığında"true"
, bu etkinlik yalnızca mevcut oturumda görevin bir parçası olarak kalacak. Kullanıcı ayrılıp daha sonra göreve geri dönerse görev sona erer.
Görev başlatma
Bir etkinliği, o görev için bir amaç vererek giriş noktası olarak ayarlayabilirsiniz
belirtilen işlem olarak "android.intent.action.MAIN"
ile filtrele ve
Belirtilen kategori olarak "android.intent.category.LAUNCHER"
:
<activity ... >
<intent-filter ... >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
...
</activity>
Bu tür bir intent filtresi, etkinliğin uygulama başlatıcıda görüntülenir. Bu şekilde, kullanıcılara etkinliği başlatma ve yeni herhangi bir zamanda oluşturduğu göreve geri dönebilir.
Bu ikinci yetenek önemlidir. Kullanıcıların bir görevden ayrılabilmesi ve ardından
bu etkinlik başlatıcıyı kullanarak daha sonra geri gelebilirsiniz. Bu nedenle yalnızca
ikisi
etkinliklerin her zaman bir görev başlatılıyor olarak işaretleyen mod başlatma, "singleTask"
ve "singleInstance"
, etkinlikte bir
ACTION_MAIN
ve bir
CATEGORY_LAUNCHER
filtresini uygulayabilirsiniz.
Örneğin, filtre olmadığında neler olabileceğini hayal edin:
intent, yeni bir görev başlatarak "singleTask"
etkinliği başlatır ve kullanıcı
o görev için zaman ayırabilir. Kullanıcı daha sonra Ana Sayfa düğmesini veya
hareketi yapın. Görev artık arka plana gönderiliyor ve görünmüyor. Kullanıcı artık
Uygulamada temsil edilmediği için göreve geri dönmesi mümkün değil.
Başlatıcı.
Kullanıcının geri dönebilmesini istemediğiniz
etkinliği için <activity>
ayarını yapın.
öğenin finishOnTaskLaunch
"true"
adlı yere. Daha fazla bilgi için arka yığını temizleme ile ilgili bölüme bakın.
Görevlerin ve aktivitelerin nasıl temsil edildiği ve yönetildiği hakkında daha fazla bilgi Son Çağrılar ekranındaki Son Kullanılanlar tıklayın.