Prozkoumání systému Android Q: Přidání bublinových oznámení do aplikace

Autor: Louise Ward
Datum Vytvoření: 8 Únor 2021
Datum Aktualizace: 16 Smět 2024
Anonim
Prozkoumání systému Android Q: Přidání bublinových oznámení do aplikace - Aplikace
Prozkoumání systému Android Q: Přidání bublinových oznámení do aplikace - Aplikace

Obsah


V roce 2018 přidala Google do své aplikace pro iPhone novou funkci „chatovací hlava“, která zobrazovala avatara volajícího jako plovoucí bublinové oznámení. Po klepnutí se tato bublina rozbalila a odhalila pruh ovládacích prvků, které uživateli umožňovaly provádět úkoly přímo z oznámení, včetně uvedení volajícího do hlasitého telefonu a zavěšení.

V systému Android Q dělá společnost Google oznámení „chat head“ oficiální součástí platformy Android a zavádí rozhraní Bubble API. Tyto bubliny mohou obsahovat užitečné informace o událostech, které se dějí jinde ve vaší aplikaci, ale mohou také obsahovat vlastní akce. Tyto akce umožňují uživateli interagovat s vaší aplikací, i když si prohlíží jinou aktivitu, aplikaci nebo se nacházejí v nesouvisející části operačního systému Android.


V tomto článku se před začátkem sdílení všeho, co potřebujete vědět o této nadcházející funkci systému Android Q, včetně toho, jaké bubliny musí nabídnout vývojáři a koncovému uživateli, osvědčených postupů a některých omezení, která musíte znát, než začnete pomocí bublin ve vlastních aplikacích pro Android.

Na konci tohoto článku budete s touto novou funkcí systému Android Q pracovat rychle a vytvoříte aplikaci pro Android, která obsahuje vlastní bublinová oznámení.

Co jsou bubliny Android Q?

Bubliny zobrazují obsah vaší aplikace v okně, které se zdá „vznášet se“ nad stávající činností v popředí.

Ve složeném stavu je bublinové oznámení představováno malou ikonou. Tyto ikony jsou ve výchozím nastavení obyčejně bílé, ale můžete je přizpůsobit s obrázkem, například můžete použít ikonu aplikace nebo avatar osoby, která je s tímto upozorněním spojena.


Když uživatel klepne na sbalenou bublinu, vyvolá se záměr a bublina se zobrazí v rozbaleném stavu, který obvykle obsahuje další informace a může také poskytovat přístup k některým souvisejícím funkcím.

Když se rozbalí bublina, přidružená aplikace se stane procesem popředí, pokud tak již není.

Uživatelé mohou komunikovat s bublinou, aniž by museli opustit svou současnou aktivitu, což z bublin dělá účinný způsob, jak znovu zapojit uživatele a případně je přitáhnout zpět do aplikace.

I když je uživatel již uvnitř vaší aplikace, bublina mu může pomoci rychle a snadno reagovat na důležité události, které se dějí jinde ve vaší aplikaci. Představte si například, že jste vyvinuli aplikaci pro zasílání zpráv, a uživatel obdrží kontakt od B, když je v polovině přípravy a kontaktu A. Místo toho, abyste byli nuceni přejít na aktivitu, kde k této události došlo, můžete prezentovat Kontaktujte B jako bublinové oznámení a uživatel pak může číst a reagovat na to bez museli opustit svůj koncept.

Pokud uživatel výslovně neodmítne bublinu přetažením mimo obrazovku, zůstane tato bublina viditelná, i když uživatel přechází mezi různými aplikacemi a oblastmi operačního systému. Protože bubliny jsou trvalou součástí uživatelského rozhraní Android (UI), mohou poskytovat vhodné místo pro ukládání poznámek nebo správu probíhajících úkolů, například můžete uložit seznam úkolů uživatele nebo cestovat uvnitř bubliny, takže je vždy uvnitř snadný přístup.

Jako připomenutí můžete použít i bubliny, například vaše aplikace může vytvořit bublinu, když je na čase, aby se uživatel přihlásil na schůzku, poslal důležitý e-mail nebo provedl nějaký jiný časově citlivý úkol.

Nepoužíváte Facebook už mnoho let bublinová oznámení?

Plovoucí oznámení ve stylu bublin nejsou pro Android nový koncept, protože jsou již dlouho k dispozici v aplikacích třetích stran, zejména v Facebook Messenger. Dříve však vývojář odpovídal za navrhování a implementaci vlastních bublinových oznámení.

Vytvoření vlastní funkce je vždy časově náročnější než využití tříd a API, které jsou již zabudovány do platformy Android, takže nyní, když jsou bubliny oficiálně součástí Androidu, mělo by být hodně vývojáři snáze používají tento styl oznámení. Tato oficiální podpora také poskytne uživatelům konzistentnější zážitek, protože všechny bubliny by nyní měly mít naprosto stejné chování bez ohledu na aplikaci, která je vygenerovala.

Android Q bubbles: Jaká jsou omezení?

Bubliny se zobrazují nad veškerým obsahem, který si uživatel právě prohlíží. Pokud aplikace generuje velké množství bublin nebo vytváří zbytečná oznámení o bublinách, uživatelé rychle ztratí trpělivost s vaší aplikací.

Někdo, kdo se cítí bombardován bublinami, se může rozhodnout deaktivovat funkci bublin pro vaši aplikaci, nebo dokonce může vaši aplikaci úplně odinstalovat.

Aby byla zajištěna spokojenost uživatelů, budou vaše bublinová oznámení zobrazena pouze v případě, že splňují alespoň jedno z následujících kritérií:

  • Při odeslání oznámení je vaše aplikace v popředí.
  • Oznámení má přidanou osobu. Pokud je k oznámení přidruženo více lidí, musíte tuto konverzaci označit také jako skupinu pomocí setGroupConversation (boolean).
  • Oznámení pochází z volání na Service.startForeground, má přidanou osobu a spadá do kategorie oznámení CATEGORY_CALL, což znamená, že se jedná o požadavek na synchronní komunikaci, jako je hlasový hovor nebo videohovor.

Pokud není splněna žádná z těchto podmínek, zobrazí se vaše bubliny místo toho jako standardní oznámení. Pokud je zařízení uzamčeno nebo je aktivní vždy zapnutá obrazovka, zobrazí se vaše bubliny znovu jako standardní oznámení.

Měli byste si také uvědomit, že v době psaní byly bubliny volitelnou funkcí. Když se vaše aplikace poprvé pokusí vygenerovat bublinu, uživateli se zobrazí dialogové okno oprávnění a bude mít možnost zakázat bubliny pro vaši aplikaci. Pokud uživatel zakáže funkci bublin, budou se bubliny vaší aplikace vždy zobrazovat jako standardní oznámení, i když splňují všechna výše uvedená kritéria.

Co vytvoříme

V tomto článku vytvoříme aplikaci, která využívá novou funkci oznámení bublin Android Q. Abychom naši aplikaci snáze otestovali, bude obsahovat tlačítko, které při každém klepnutí vygeneruje bublinové upozornění.

Vzhledem k tomu, že chatové aplikace jsou nejviditelnější volbou pro bubliny, bude naše aplikace simulovat uživatele, který obdrží novou, podobnou aplikaci Facebook Messenger. Po rozbalení bude tato bublina obsahovat místo, kde by se zobrazila, plus dvě akce, které může uživatel provést: zavolat na tento kontakt nebo poslat textovou odpověď.

Chcete-li experimentovat s touto novou funkcí, budete potřebovat nejnovější náhled aplikace Android Studio 3.5. Nejnovější verzi najdete na webu Preview Release.

Budete také potřebovat Android Q Preview SDK a Android SDK Build-Tools 28 nebo vyšší:

  • Na panelu nástrojů Android Studio vyberte „Nástroje> Správce SDK“.
  • V následujícím okně vyberte kartu „Platformy SDK“.
  • Vyberte nejnovější verzi „Android Q Preview“.
  • Přepněte na kartu „SDK Tools“.
  • Vyberte položku Android SDK Build-Tools 28 nebo vyšší.
  • Klepnutím na „OK“ tyto komponenty nainstalujete.

Následující tutoriál byl vytvořen pomocí Android Q Beta 2, když byla bublina oznámení stále považována za experimentální funkci. Pokud používáte novější verzi Android Q, můžete narazit na drobné rozdíly.

Vytváření naší aplikace pro Android Q

Chcete-li začít, vytvořte nový projekt Android pomocí šablony „Prázdná aktivita“ a po zobrazení výzvy zkontrolujte, zda aplikace cílí na nejnovější verzi systému Android Q.

Pokud do existující aplikace přidáváte bubliny, musíte otevřít soubor build.gradle projektu a upgradovat compileSdkVersion, minSdkVersion a targetSdkVersion na „android-Q“.

android {compileSdkVersion android-Q defaultConfig {... minSdkVersion Q targetSdkVersion Q ...} ...}

Poté otevřete soubor build.gradle a do bloku „závislostí“ přidejte nejnovější verzi knihovny Material Components for Android:

závislosti {implementace fileTree (dir: libs, include:) implementace androidx.appcompat: appcompat: 1.0.2 implementace androidx.constraintlayout: constraintlayout: 1.1.3 // Přidejte následující // implementaci com.google.android.material: material: 1.1.0-alpha07 testImplementation junit: junit: 4.12 androidTestImplementation androidx.test.ext: junit: 1.1.0 androidTestImplementation androidx.test.espresso: espresso-core: 3.1.1}

Vytvoření hlavního uživatelského rozhraní

Náš projekt bude nakonec potřebovat dvě rozvržení: jedno pro hlavní aplikaci a druhé, které definuje rozvržení naší rozšířené bubliny.

Otevřete soubor activity_main.xml vašeho projektu a vytvořme tlačítko, které vygeneruje naše oznámení o bublinách:

Vytváření bublinových oznámení

Dále musíme vytvořit bublinové oznámení. Bubliny systému Android Q jsou postaveny na existujícím systému oznámení pro systém Android, takže pokud máte nějaké předchozí zkušenosti s prací s oznámeními pro systém Android, pak by se vytvoření bubliny mělo okamžitě cítit dobře známé.

Bublinu Android Q vytvoříte provedením následujících kroků:

1. Vytvořte alespoň jeden oznamovací kanál

Android 8.0 představil koncept kanály oznámení, kde všechna oznámení, která jsou zveřejněna na stejném kanálu, mají stejné chování.

Vzhledem k tomu, že naše aplikace cílí na Android 8.0 nebo vyšší, musí být všechna naše oznámení přiřazena k oznamovacímu kanálu, včetně bublin.

Chcete-li vytvořit kanál oznámení, musíte sestavit objekt NotificationChannel a předat jej:

  • ID, které musí být jedinečné pro váš balíček.
  • Název kanálu, který se uživateli zobrazí na obrazovce nastavení kanálu.
  • Úroveň důležitosti. V Androidu Oreo a vyšším již nemůžete nastavit prioritu jednotlivých oznámení. Místo toho musíte určit úroveň důležitosti kanálu, která se použije na každé oznámení, které je na tomto kanálu zveřejněno. Bublinková oznámení musí být přiřazena na úrovni IMPORTANCE_HIGH, protože to zajistí, že se bublina objeví na obrazovce, bez ohledu na to, co uživatel aktuálně dělá.

Android Q také zavádí metodu setAllowBubbles (), která umožňuje určit, že tento kanál podporuje bubliny („true“). Hodnota setAllowBubbles () bude ignorována pro kanály, které mají úroveň důležitosti IMPORTANCE_DEFAULT nebo nižší, takže musíte označit kanál jako setAllowBubbles (true) a IMPORTANCE_HIGH.

V následujícím úryvku vytváříme náš oznamovací kanál. Je to také vaše šance určit jakékoli další požadované chování, například zda oznámení zaslaná na tento kanál by měla způsobit, že LED zařízení budou blikat.

CharSequence name = "Můj nový kanál"; String description = "Description"; int important = NotificationManager.IMPORTANCE_HIGH; // Vytvoření objektu kanálu // channel = new NotificationChannel ("1", name, important); channel.setDescription (description); channel.setAllowBubbles (true);

Poté můžete tento objekt NotificationChannel odeslat do NotificationManager pomocí metody createNotificationChannel ():

notificationManager.createNotificationChannel (channel);

2. Vytvořte bublinový záměr

Později v tomto tutoriálu vytvoříme bublinovou aktivitu, která se spustí pokaždé, když uživatel bude s ikonou bubliny spolupracovat.

V následujícím fragmentu vytváříme PendingIntent, který určuje aktivitu, která se zobrazí v naší rozbalené bublině:

Cíl záměru = nový záměr (MainActivity.this, BubbleActivity.class); PendingIntent bubbleIntent = PendingIntent.getActivity (MainActivity.this, 0, target, PendingIntent.FLAG_UPDATE_CURRENT / * flags * /);

3. Vytvořte BubbleMetaData

Dále musíte vytvořit objekt BubbleMetadata, který zapouzdří všechna data potřebná k zobrazení naší oznamovací bubliny.

Objekt BubbleMetadata vytvoříte voláním konstruktoru Notification.BubbleMetadata.Builder. Potom můžeme pomocí setIntent () určit cílový záměr bubliny, který se spustí pokaždé, když uživatel s touto bublinou interaguje.

Notification.BubbleMetadata bubbleData = new Notification.BubbleMetadata.Builder () ... ... ... .setIntent (bubbleIntent) .build ();

Při vytváření objektu BubbleMetadata musíme také nastavit ikonu, která bude tuto bublinu reprezentovat v původním, sbaleném stavu, pomocí metody Notification.BubbleMetadata.Builder.setIcon (Icon). Vy musí poskytnout ikonu pro každou bublinu, kterou vytvoří aplikace, a tato ikona by měla představovat její obsah.

Tvar ikony bubliny je adaptivní a lze ji upravit tak, aby odpovídala tématu zařízení. Pokud je vaše ikona založena na bitmapách, musíte použít createWithAdaptiveBitmap, který zajistí, že vaše ikona bude vygenerována podle návrhových pokynů definovaných ve třídě AdaptiveIconDrawable nebo značkách.

Můžeme také nastavit požadovanou výšku pro obsah bubliny, ale tato hodnota bude ignorována, když nebude k dispozici dostatek místa na obrazovce.

To nám dává následující:

Notification.BubbleMetadata bubbleData = new Notification.BubbleMetadata.Builder () .setDesiredHeight (600) .setIcon (Icon.createWithResource (MainActivity.this, R.drawable.ic_)) .setIntent (bubbleIntent) .build ();

4. Přidejte metadata do bubliny

Dále musíme k našemu oznámení připojit objekt BubbleMetadata.

Android Q přidá novou třídu setBubbleMetaData () do třídy Builder oznámení. Tato metoda používá instanci BubbleMetadata, která se používá k zobrazení obsahu vaší bubliny, když je v rozšířeném stavu.

.setBubbleMetadata (bubbleData);

Dokončená MainActivity

Po dokončení všech výše uvedených kroků by měla vaše MainActivity vypadat asi takto:

import androidx.appcompat.app.AppCompatActivity; import android.app.Notification; import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Icon; import android.os.Bundle; import android.widget.Button; import android.view.View; public class MainActivity rozšiřuje AppCompatActivity implementuje View.OnClickListener {Button createBubble; Notification.Builder Builder; NotificationManager notificationManager; Kanál kanálu oznámení; @Override chráněné void onCreate (Bundle uloženéInstanceState) {super.onCreate (uloženéInstanceState); setContentView (R.layout.activity_main); createBubble = findViewById (R.id.createBubble); notificationManager = (NotificationManager) getSystemService (Context.NOTIFICATION_SERVICE); CharSequence name = "Můj nový kanál"; String description = "Description"; int important = NotificationManager.IMPORTANCE_HIGH; // Vytvoření objektu kanálu // channel = new NotificationChannel ("1", name, important); channel.setDescription (description); channel.setAllowBubbles (true); createBubble.setOnClickListener (this); } @Override public void onClick (View view) {switch (view.getId ()) {case R.id.createBubble: // Aktivita, která se zobrazí uvnitř naší rozšířené bubliny // Intent target = new Intent (MainActivity. tato, BubbleActivity.class); // Vytvoření PendingIntent // PendingIntent bubbleIntent = PendingIntent.getActivity (MainActivity.this, 0, target, PendingIntent.FLAG_UPDATE_CURRENT / * flags * /); // Vytvoření objektu BubbleMetadata // Notification.BubbleMetadata bubbleData = new Notification.BubbleMetadata.Builder () // Určete požadovanou výšku bubliny // .setDesiredHeight (600) // Určete ikonu bubliny // .setIcon (Icon.createWithResource (Icon.createWithResource) MainActivity.this, R.drawable.ic_)) // Určete cílový záměr bubliny // .setIntent (bubbleIntent) .build (); builder = new Notification.Builder (MainActivity.this, channel.getId ()) .setSmallIcon (R.drawable.ic_) // Přidejte objekt BubbleMetadata // .setBubbleMetadata (bubbleData); // Odešlete NotificationChannel do NotificationManager // notificationManager.createNotificationChannel (kanál); notificationManager.notify (1, builder.build ()); přestávka; }}}

Vytvoření ikony bubliny

Naše MainActivity odkazuje na „ic_“ drawable, který bude použit k reprezentaci naší bubliny v jejím počátečním, zhrouceném stavu. Vytvořme nyní tuto ikonu:

  • Na panelu nástrojů pro Android Studio vyberte „File> New> Image Asset“.
  • Otevřete rozbalovací nabídku „Typ ikon“ a vyberte „Ikony lišty akcí a karet“.
  • Ujistěte se, že je vybráno tlačítko „Clip Art“.
  • Klikněte na tlačítko „Clip Art“.
  • Vyberte obrázek, který bude představovat vaše bublinové oznámení; Rozhodl jsem se pro „.“
  • Klikněte na „OK“.
  • Do pole Název zadejte „ic_“.
  • Klikněte na „Další“. Přečtěte si informace na obrazovce a pokud budete rádi pokračovat, klikněte na „Dokončit“.

Když jsme tady, vytvořme další díla obrázků, která budeme používat v tomto tutoriálu. Naše rozšířená bublina nakonec použije dvě ikony k reprezentaci dvou odlišných akcí: zavolání kontaktu a odeslání textové odpovědi.

Chcete-li vytvořit tyto drawables, opakujte výše uvedené kroky, ale tentokrát:

  • Vyberte obrázek, který bude představovat akci „volání“ bubliny. Používám zdroj „mic“ a pojmenuji ho „ic_voice“.
  • Vyberte obrázek, který bude představovat akci „odpovědi na bublinu“. Používám kreslitelný text „odpověď“ a pojmenovávám jej „ic_reply“.

Vytváření bublinové aktivity

Dále musíme vytvořit aktivitu, která se uživateli zobrazí vždy, když bude s naší bublinou spolupracovat.

  • Na panelu nástrojů Android Studio vyberte „Soubor> Nový> Třída Java“.
  • V následujícím okně pojmenujte tuto třídu „BubbleActivity“.
  • Klikněte na „OK“.

Tuto třídu použijeme k definování obsahu bubliny, včetně veškerých akcí, které může uživatel provést interakcí s rozbalenou bublinou. Abychom udrželi náš kód přímočarý, jednoduše zobrazím přípitek pokaždé, když uživatel spustí akci „odeslání“ a „hlasové volání“.

Otevřete třídu BubbleActivity a přidejte následující:

import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.ImageButton; importovat android.widget.Toast; import android.view.View; veřejná třída BubbleActivity rozšiřuje AppCompatActivity implementuje View.OnClickListener {@Override chráněné void onCreate (Bundle uloženoInstanceState) {super.onCreate (uloženéInstanceState); setContentView (R.layout.activity_bubble); ImageButton voiceCall = (ImageButton) findViewById (R.id.voice_call); voiceCall.setOnClickListener (this); ImageButton send = (ImageButton) findViewById (R.id.send); send.setOnClickListener (this); } @Override public void onClick (Zobrazit v) {switch (v.getId ()) {case R.id.voice_call: Toast.makeText (BubbleActivity.this, "Volání kontaktu", Toast.LENGTH_SHORT) .show (); přestávka; case R.id.send: Toast.makeText (BubbleActivity.this, „Sending“, Toast.LENGTH_SHORT) .show (); přestávka; }}}

Návrh rozložení rozšířené bubliny

Nyní musíme vytvořit odpovídající rozložení pro naši BubbleActivity. Toto rozvržení bude obsahovat:

  • RecylerView. V aplikaci pro zasílání zpráv v reálném světě zobrazujeme nově přijaté a všechny předchozí.
  • EditText. To umožní uživateli zadat odpověď přímo do oznámení bubliny.
  • Dva ImageButtony. Zobrazí se ikony, na které může uživatel klepnout, aby poslal textovou odpověď nebo zavolal osobě, která to poslala.

Vytvořte nový soubor rozvržení s názvem „activity_bubble“ pomocí Control-klepnutím na adresář rozvržení projektu a následným výběrem „Nový> Soubor zdroje rozvržení“ na panelu nástrojů Android Studio.

Otevřete soubor „activity_bubble.xml“ a přidejte následující:

Uživatelské rozhraní pro více oken a dokumentů: Aktualizace manifestu

Pokud Android rozpozná BubbleActivity jako rozšířenou bublinu, musíme otevřít náš manifest a provést několik změn v prohlášení „BubbleActivity“.

1. Přidejte podporu pro více oken

Začněte tím, že uvedete, že vaše BubbleActivity podporuje zobrazení v několika oknech Android:

android: resizeableActivity = "true"

2. Povolte enableEmbedded

Bubliny se zobrazují uvnitř kontejneru, který vlastní jiná aktivita, takže naším dalším úkolem je prohlásit, že BubbleAtivity lze spustit jako vložené dítě jiné aktivity:

android: allowEmbedded = "true"

3. Povolit více instancí

Někdy může být nutné, aby vaše aplikace zobrazovala více bublin stejného typu.

Vzhledem k tomu, že vytváříme chatovou aplikaci, existuje šance, že uživatel může obdržet více různých lidí od různých lidí současně. Abychom se vyhnuli záměně, je důležité, abychom každou konverzaci reprezentovali jako svou vlastní bublinu, i když to znamená mít na obrazovce viditelné více bublin.

Pokud chcete, aby aplikace zobrazovala více bublin stejného typu, musí být schopna spouštět více instancí.

Chcete-li aplikaci umožnit vytváření více instancí, přidejte do prohlášení „BubbleActivity“ následující text:

android: documentLaunchMode = "vždy"

Dokončený Manifest

Po provedení všech výše uvedených kroků by část Manifest „BubbleActivity“ měla vypadat asi takto:

Testování vašich bublin Android Q

Chcete-li vyzkoušet bublinová oznámení, budete potřebovat buď fyzické zařízení, které používá náhled Android Q nebo vyšší, nebo virtuální zařízení Android (AVD), které je nakonfigurováno pro podporu Android Q.

Vytvoření kompatibilního AVD:

  • Na panelu nástrojů pro Android Studio vyberte „Nástroje> AVD Manager“.
  • Vyberte možnost „Vytvořit virtuální zařízení…“
  • Vyberte definici zařízení, kterou chcete použít, a poté klikněte na „Další“.
  • Na obrazovce „Select a image image“ (Vybrat obraz systému) vyberte nejnovější bitovou kopii systému „Q“. Pokud jste si dosud Android Android nestáhli, klikněte na jeho doprovodný odkaz „Stáhnout“ a počkejte, až se obraz systému stáhne do vašeho počítače.

  • Pojmenujte svůj AVD a poté klikněte na „Dokončit“.

Postup při testování aplikace:

  • Spusťte aplikaci na kompatibilním AVD nebo fyzickém zařízení Android.
  • Klepněte na tlačítko „Vytvořit bublinové oznámení“. Na obrazovce by se nyní měla objevit bublina.
  • Kliknutím na ikonu bubliny kliknete, chcete-li ji zobrazit jako rozšířenou bublinu.
  • Pokud se zobrazí výzva, udělte aplikaci povolení k zobrazení bublin klepnutím na „Povolit“.
  • Proveďte kliknutí na tlačítko „volání“ bubliny a měl by se zobrazit příznak „Telefonický kontakt“.
  • Zkuste kliknout na akci „odpověď“; teď by se měl objevit „odesílající“ toast.

Dokončený projekt si můžete stáhnout z GitHubu.

Vytváření automaticky rozšířených bublin

V současné době se všechny bubliny naší aplikace objevují ve sbaleném stavu a budou rozšířeny, pouze pokud s nimi uživatel interaguje. Je však možné vytvořit bubliny, které se automaticky spustí v jejich rozbaleném stavu.

Typicky byste měli konfigurovat tlačítko tak, aby se objevilo v rozbaleném stavu, pokud uživatel provede akci, která přímo vede k dané bublině, jako je například klepnutí na tlačítko pro spuštění nového okna chatu nebo vytvoření nového dokumentu.

Můžete si vytvořit rozšířenou bublinu přidáním setAutoExpandBubble (true) k vašemu objektu BubbleMetadata.

Jen si uvědomte, že tato bublina bude zveřejněna pouze v rozšířeném stavu, pokud je související aplikace v popředí. Pokud aplikace, která tuto bublinu vytvořila, není v popředí, bude metoda setAutoExpandBubble () zcela ignorována.

V následujícím úryvku prohlašujeme, že obsah bubliny by měl být automaticky rozbalen:

Notification.BubbleMetadata bubbleData = new Notification.BubbleMetadata.Builder () .setDesiredHeight (600) // Přidejte následující řádek // .setAutoExpandBubble (true) .setIcon (Icon.createWithResource (MainActivity.this, R.drawable.ic_)). setIntent (bubbleIntent) .build ();

Nainstalujte aktualizovaný projekt do zařízení AVD nebo Android a klepněte na tlačítko „Vytvořit oznámení o bublině“. Namísto toho, aby se na obrazovce objevila ikona bubliny, by se vaše bublina měla nyní automaticky spustit v rozšířeném stavu.

Jak co nejlépe využít bublin: Osvědčené postupy

Stejně jako u každé nové funkce přicházejí bubliny s vlastní sadou osvědčených postupů.

Při přidávání bublinových oznámení do aplikací pro Android je důležité mít na paměti následující skutečnosti:

1. Nepřekonejte uživatele

Bubliny zabírají značné množství nemovitostí na obrazovce a mají potenciál přerušit cokoli, co uživatel právě dělá.

Pokud uživatele bombarbujete bublinami, pak v nejlepším případě zabrání vaší aplikaci v tom, aby vydávala jakékoli bubliny, a v nejhorším případě může dokonce aplikaci úplně odinstalovat.

Chcete-li se vyhnout odcizení uživatelů, měli byste vydávat bublinová oznámení pouze pro události, které jsou natolik důležité, že vyžadují okamžitou pozornost uživatele.

2. Zaměřte se na jednoduchost

Všechny procesy, které jsou spouštěny z bubliny, jsou umístěny v bublinovém kontejneru, který může být často výrazně menší než běžná aktivita.

Chcete-li zajistit dobrý uživatelský dojem, měli byste se vyhnout pokušení sbírat bubliny plné informací a funkcí a místo toho vytvářet bubliny, které jsou co nejlehčí a nejjednodušší.

3. Vyzkoušejte své bubliny jako pravidelná oznámení

Existují okolnosti, kdy se vaše bubliny zobrazí uživateli jako standardní oznámení, například pokud je zařízení uzamčeno nebo je aktivní vždy zapnutá obrazovka.

Chcete-li zajistit dobrý uživatelský dojem bez ohledu na to, jak je vaše bublina prezentována, měli byste vyzkoušet, jak se každá z vašich bublin objeví a jak funguje, když se zobrazí jako oznámení bubliny a jako pravidelné oznámení.

Zabalení

V tomto článku jsme viděli, jak dnes můžete začít používat funkci Android Q. V průběhu tohoto článku jsme vytvořili aplikaci, která spouští spouště a rozbalil bubliny na vyžádání a naplnil rozbalenou bublinu pomocí Zobrazení a vlastních akcí.

Jaké další funkce systému Android Q se těšíte na vyzkoušení? Dejte nám vědět v komentářích níže!

Pokud i chcete Chromebook koupit, je docela nadné najít jej za rozpočet. Koneckonců, to je celý nápad za zařízeními Chrome O - louží jako levnější alternativa k...

Chromebooky, notebooky naintalovaným operačním ytémem Google Chrome, jou tále oblíbenější, zejména pro tudenty a zákazníky ze vzdělávání. N...

Populární Na Portálu