Android Q izpēte: burbuļu paziņojumu pievienošana savai lietotnei

Autors: Louise Ward
Radīšanas Datums: 8 Februāris 2021
Atjaunināšanas Datums: 17 Maijs 2024
Anonim
Android Q izpēte: burbuļu paziņojumu pievienošana savai lietotnei - Progr
Android Q izpēte: burbuļu paziņojumu pievienošana savai lietotnei - Progr

Saturs


2018. gadā Google savai iPhone lietojumprogrammai pievienoja jaunu funkciju “tērzēšanas galviņa”, kas zvanītāja iemiesojumu parādīja kā peldoša burbuļa stila paziņojumu. Pēc pieskāriena šis burbulis izvērsās, atklājot vadības ierīču joslu, kas ļāva lietotājam veikt uzdevumus tieši no paziņojuma, ieskaitot zvanītāja ievietošanu skaļruņa tālrunī un sarunu.

Izmantojot operētājsistēmu Android Q, Google paziņo “tērzēšanas galviņas” paziņojumus par oficiālu Android platformas daļu, ieviešot Bubble API. Šajos burbuļos var būt noderīga informācija par notikumiem, kas notiek citur jūsu lietotnē, taču tie var saturēt arī pielāgotas darbības. Šīs darbības ļauj lietotājam mijiedarboties ar jūsu lietotni, pat ja viņš skata citu darbību, lietojumprogrammu vai arī tas atrodas nesaistītā Android operētājsistēmas daļā.

Šajā rakstā es dalīšos ar visu, kas jums jāzina par šo gaidāmo Android Q funkciju, ieskaitot to, kas burbuļiem ir jāpiedāvā izstrādātājam un galalietotājam, paraugpraksi un dažus ierobežojumus, kas jums jāzina pirms darba sākšanas. izmantojot burbuļus savās Android lietotnēs.


Līdz šī raksta beigām jūs tiksiet galā ar jauno Android Q funkciju un būsit izveidojis Android lietotni, kurai ir savi paziņojumi par burbuļiem.

Kas ir Android Q burbuļi?

Burbuļi parāda jūsu lietotnes saturu logā, kas, šķiet, “peld” virs esošās priekšplāna darbības.

Sakļautā stāvoklī burbuļa paziņojumu attēlo maza ikona. Pēc noklusējuma šīs ikonas ir skaidri baltas, taču jūs varat tās pielāgot attēlam, piemēram, varat izmantot savas lietotnes ikonu vai tās personas iemiesojumu, kura ir saistīta ar šo paziņojumu.

Kad lietotājs piesitīs sabrukušam burbulim, tiks izsaukts nodoms un jūsu burbulis tiks parādīts tā paplašinātajā stāvoklī, kas parasti satur papildu informāciju un var arī nodrošināt piekļuvi dažām saistītām funkcijām.


Kad burbulis tiek izvērsts, saistītā lietojumprogramma kļūst par jauno procesu, ja tas vēl nav veikts.

Lietotāji var mijiedarboties ar burbuli, nevirzoties prom no viņu pašreizējās darbības, kas burbuļus padara par efektīvu veidu, kā atkārtoti piesaistīt lietotājus un, iespējams, piesaistīt viņus jūsu lietotnei.

Pat ja lietotājs jau atrodas jūsu lietotnē, burbulis var viņiem palīdzēt ātri un viegli reaģēt uz svarīgiem notikumiem, kas notiek citur jūsu lietojumprogrammā. Piemēram, iedomājieties, ka esat izstrādājis ziņojumapmaiņas lietotni, un, kad tiek gatavots kontakts A, lietotājs saņem ziņojumu no kontaktpersonas B. Tā vietā, lai piespiestu viņus doties uz darbību, kur notika šis notikums, jūs varat iesniegt Sazinieties ar B kā paziņojumu par burbuli, un pēc tam lietotājs var to izlasīt un uz to atbildēt bez ņemot prom no viņu iegrimes.

Ja vien lietotājs skaidri nenoraida burbuli, velkot to ārpus ekrāna, tas burbulis paliks redzams pat tad, ja lietotājs pārvietosies starp dažādām lietojumprogrammām un operētājsistēmas apgabaliem. Tā kā burbuļi ir neatņemama Android lietotāja saskarnes (UI) sastāvdaļa, tie var nodrošināt ērtu vietu piezīmju glabāšanai vai notiekošo uzdevumu pārvaldīšanai, piemēram, jūs varat saglabāt lietotāja To Do sarakstu vai ceļot maršrutu burbulī, tāpēc tas vienmēr atrodas viegli sasniedzams.

Jūs pat varētu izmantot burbuļus kā atgādinājumus, piemēram, jūsu lietotne var radīt burbuli, kad lietotājam ir pienācis laiks pieteikties sapulcē, nosūtīt svarīgu e-pastu vai veikt kādu citu ar laiku saistītu uzdevumu.

Vai Facebook gadiem ilgi nav izmantojis paziņojumus par burbuļiem?

Peldošie burbuļu stila paziņojumi nav jauna Android koncepcija, jo tie jau sen ir pieejami trešo pušu lietotnēs, īpaši Facebook Messenger. Tomēr iepriekš izstrādātāja atbildība bija izveidot un ieviest savus paziņojumus par burbuļiem.

Izveidot pielāgotu funkciju ir vienmēr laikietilpīgāks nekā klasēm un API piesaistīšana, kas jau ir iebūvēti Android platformā, tāpēc tagad, kad burbuļi oficiāli ir daļa no Android, tam vajadzētu būt daudz izstrādātājiem ir vieglāk izmantot šo paziņošanas stilu. Šis oficiālais atbalsts lietotājiem nodrošinās arī konsekventāku pieredzi, jo visiem burbuļiem tagad vajadzētu būt tieši vienādām darbībām neatkarīgi no lietojumprogrammas, kas tos ģenerēja.

Android Q burbuļi: kādi ir ierobežojumi?

Burbuļi tiek parādīti virs jebkura satura, ko lietotājs šobrīd skata. Ja jūsu lietotne rada lielu daudzumu burbuļu vai arī tas rada nevajadzīgus paziņojumus par burbuļiem, lietotāji ātri zaudēs pacietību ar jūsu lietotni.

Kāds, kurš jūtas bombardēts ar burbuļiem, var izvēlēties atspējot burbuļa funkciju jūsu lietojumprogrammai vai arī viņš var pilnībā atinstalēt jūsu lietotni.

Lai nodrošinātu lietotāju pieredzi, paziņojumi par burbuļiem tiks parādīti tikai tad, ja tie atbildīs vismaz vienam no šiem kritērijiem:

  • Jūsu pieteikums ir priekšplānā, kad tiek nosūtīts paziņojums.
  • Paziņojumam ir pievienota persona. Ja ar paziņojumu ir saistīti vairāki cilvēki, tad šī saruna ir jāatzīmē arī kā grupa, izmantojot iestatījumu setGroupConversation (Būla).
  • Paziņojums tiek veikts no zvana uz Service.startForeground, tam ir pievienota persona, un tas ietilpst CATEGORY_CALL paziņojumu kategorijā, kas norāda, ka tas ir sinhronizēts saziņas pieprasījums, piemēram, balss vai videozvans.

Ja neviens no šiem nosacījumiem nav izpildīts, tā vietā jūsu burbuļi tiks parādīti kā standarta paziņojums. Ja ierīce ir bloķēta vai tās vienmēr ieslēgts displejs ir aktīvs, burbuļi atkal parādīsies tikai kā standarta paziņojumi.

Jums arī jāzina, ka rakstīšanas laikā burbuļi bija izvēles funkcija. Kad jūsu lietojumprogramma pirmo reizi mēģina radīt burbuli, lietotājam tiks parādīts atļauju dialogs, un viņiem būs iespēja atspējot burbuļus jūsu lietojumprogrammā. Ja lietotājs atspējo burbuļa funkciju, jūsu lietotnes burbuļi vienmēr tiks parādīti kā standarta paziņojumi, pat ja tie atbilst visiem iepriekšminētajiem kritērijiem.

Ko mēs izveidosim

Šajā rakstā mēs izveidosim lietojumprogrammu, kurā tiek izmantota Android Q jaunā burbuļu paziņojumu funkcija. Lai padarītu mūsu lietotni pārbaudāmāku, tajā būs poga, kas ikreiz, kad tā tiks piespiesta, ģenerēs paziņojumu par burbuli.

Tā kā tērzēšanas lietojumprogrammas ir visredzamākā burbuļu izvēle, mūsu lietotne simulēs lietotāju, kurš saņem jaunu, līdzīgu lietotnei Facebook Messenger. Paplašinot, šajā burbulī tiks iekļauta vieta, kur tiks parādīts, kā arī divas darbības, kuras lietotājs var veikt: piezvanīt šim kontaktam vai nosūtīt viņam teksta atbildi.

Lai eksperimentētu ar šo jauno funkciju, jums būs nepieciešams jaunākais Android Studio 3.5 priekšskatījums. Jaunāko versiju atradīsit vietnē Preview Release.

Jums būs nepieciešams arī Android Q priekšskatījuma SDK un Android SDK Build-Tools 28 vai jaunāks:

  • Android Studio rīkjoslā atlasiet “Rīki> SDK pārvaldnieks”.
  • Nākamajā logā atlasiet cilni “SDK platformas”.
  • Atlasiet jaunāko “Android Q Preview” izlaidumu.
  • Pārslēdzieties uz cilni “SDK rīki”.
  • Atlasiet “Android SDK Build-Tools 28” vai jaunāku versiju.
  • Noklikšķiniet uz “OK”, lai instalētu šos komponentus.

Ņemiet vērā, ka šī apmācība tika izveidota, izmantojot Android Q Beta 2, kad paziņojumi par burbuļiem joprojām tika uzskatīti par eksperimentālu funkciju. Ja jūs izmantojat jaunāku Android Q versiju, iespējams, sastopaties ar nelielām atšķirībām.

Izstrādājam mūsu Android Q lietotni

Lai sāktu, izveidojiet jaunu Android projektu, izmantojot veidni “Tukša aktivitāte”, un, kad tas tiek prasīts, pārliecinieties, vai jūsu lietotne ir mērķēta uz jaunāko Android Q versiju.

Ja jau esošai lietojumprogrammai pievienojat burbuļus, jums būs jāatver projekta build.gradle fails un jaunināt kompilācijasSdkVersion, minSdkVersion un targetSdkVersion uz “android-Q”.

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

Pēc tam atveriet failu build.gradle un blokam “atkarības” pievienojiet Android bibliotēkas materiālu komponentu jaunāko versiju:

atkarības {ieviešanas failsTreši (rež .: libs, iekļaujiet:) ieviešanu androidx.appcompat: appcompat: 1.0.2 ieviešana androidx.constraintlayout: constraintlayout: 1.1.3 // Pievienojiet šo // ieviešanas com.google.android.materiāls: materiāls: 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}

Galvenā lietotāja interfeisa izveidošana

Galu galā mūsu projektam būs nepieciešami divi izkārtojumi: viens galvenajam lietojumam un otrs, kas nosaka mūsu izvērstā burbuļa izkārtojumu.

Atveriet sava projekta aktivitāte_main.xml failu un izveidosim pogu, kas ģenerēs mūsu paziņojumu par burbuli:

Burbuļa paziņojuma veidošana

Tālāk mums jāizveido paziņojums par burbuli. Android Q burbuļi ir veidoti, izmantojot Android pašreizējo paziņojumu sistēmu, tāpēc, ja jums ir iepriekšēja pieredze darbā ar Android paziņojumiem, burbuļa izveidošanai vajadzētu justies uzreiz pazīstamam.

Jūs izveidojat Android Q burbuli, veicot šādas darbības:

1. Izveidojiet vismaz vienu paziņojumu kanālu

Android 8.0 ieviesa jēdzienu paziņojumu kanāli, kur visi paziņojumi, kas tiek publicēti tajā pašā kanālā, darbojas vienādi.

Tā kā mūsu lietojumprogramma ir paredzēta operētājsistēmai Android 8.0 vai jaunākai, visi mūsu paziņojumi ir jāpiešķir paziņojumu kanālam, ieskaitot burbuļus.

Lai izveidotu paziņojumu kanālu, jums jāizveido objekts NotificationChannel un tas jānosūta:

  • ID, kam jābūt unikālam tikai ar jūsu paketi.
  • Kanāla nosaukums, kas lietotājam tiks parādīts kanāla iestatījumu ekrānā.
  • Svarīguma līmenis. Android Oreo un jaunākās versijās vairs nevarat iestatīt prioritāro līmeni atsevišķiem paziņojumiem. Tā vietā jums jānorāda kanāla nozīmīguma līmenis, kas pēc tam tiek piemērots visiem paziņojumiem, kas tiek publicēti šajā kanālā. Burbuļa paziņojumiem jāpiešķir IMPORTANCE_HIGH līmenis, jo tas nodrošina burbuļa parādīšanos uz ekrāna neatkarīgi no tā, ko lietotājs šobrīd dara.

Android Q ievieš arī metodi setAllowBubbles (), kas ļauj norādīt, ka šis kanāls atbalsta burbuļus (“true”). Vērtība setAllowBubbles () tiks ignorēta kanāliem, kuru svarīguma līmenis ir IMPORTANCE_DEFAULT vai zemāks, tāpēc kanāls jums jāatzīmē kā setAllowBubbles (true) un IMPORTANCE_HIGH.

Šajā fragmentā mēs veidojam savu paziņojumu kanālu. Šī ir arī jūsu iespēja norādīt jebkuru papildu vēlamo rīcību, piemēram, vai šajā kanālā publicētajiem paziņojumiem vajadzētu izraisīt ierīces gaismas diožu mirgošanu.

CharSequence name = "Mans jaunais kanāls"; Stīgas apraksts = "Apraksts"; int svarīgums = NotificationManager.IMPORTANCE_HIGH; // Izveidojiet kanāla objektu // channel = new NotificationChannel ("1", nosaukums, nozīme); channel.setDescription (apraksts); channel.setAllowBubbles (taisnība);

Pēc tam šo NotificationChannel objektu var iesniegt NotificationManager, izmantojot metodi createNotificationChannel ():

paziņojumuManager.createNotificationChannel (kanāls);

2. Izveidojiet burbuļa nodomu

Vēlāk šajā apmācībā mēs izveidosim BubbleActivity, kas tiks palaista katru reizi, kad lietotājs mijiedarbosies ar burbuļa ikonu.

Šajā fragmentā mēs izveidojam PendingIntent, kas norāda darbību, kas tiks parādīta mūsu izvērstajā burbulī:

Nodomu mērķis = jauns nodoms (MainActivity.this, BubbleActivity.class); PendingIntent bubbleIntent = PendingIntent.getActivity (MainActivity.this, 0, target, PendingIntent.FLAG_UPDATE_CURRENT / * karodziņi * /);

3. Izveidojiet BubbleMetaData

Pēc tam jums jāizveido objekts BubbleMetadata, kurā būs iekapsulēti visi dati, kas nepieciešami mūsu paziņojumu burbuļa parādīšanai.

Jūs izveidojat BubbleMetadata objektu, izsaucot Notification.BubbleMetadata.Builder konstruktoru. Pēc tam mēs varam izmantot setIntent (), lai norādītu mērķa burbuļa nodomu, kas darbosies katru reizi, kad lietotājs mijiedarbosies ar šo burbuli.

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

Veidojot BubbleMetadata objektu, mums arī jāiestata ikona, kas šo burbuli attēlo tā sākotnējā, sabrukušajā stāvoklī, izmantojot metodi Notification.BubbleMetadata.Builder.setIcon (ikona). Jūs obligāti nodrošiniet ikonu katram burbulim, ko izveido jūsu lietojumprogramma, un šai ikonai ir jāatspoguļo burbuļa saturs.

Burbuļa ikonas forma ir adaptīva, un to var modificēt, lai tā atbilstu ierīces motīvam. Ņemiet vērā: ja jūsu ikona ir balstīta uz bitkartēm, jums būs jāizmanto createWithAdaptiveBitmap, kas nodrošinās, ka jūsu ikona tiek ģenerēta saskaņā ar projektēšanas vadlīnijām, kas noteiktas klasē AdaptiveIconDravable, vai tagus.

Varam arī iestatīt vēlamo burbuļa satura augstumu, lai gan šī vērtība tiks ignorēta, ja ekrānā nebūs pietiekami daudz vietas.

Tas dod mums sekojošo:

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

4. Pievienojiet metadatus burbulim

Tālāk mums savam paziņojumam jāpievieno objekts BubbleMetadata.

Paziņojumu veidotāju klasē Android Q pievieno jaunu metodi setBubbleMetaData (). Šī metode izmanto BubbleMetadata gadījumu, ko izmanto, lai parādītu jūsu burbuļa saturu, kad tas ir paplašinātā stāvoklī.

.setBubbleMetadata (bubbleData);

Pabeigtā MainActivity

Pēc visu iepriekš minēto darbību veikšanas MainActivity vajadzētu izskatīties šādi:

importēt androidx.appcompat.app.AppCompatActivity; importēt android.app.Notification; importa android.app.NotificationChannel; importēt android.app.NotificationManager; importēt android.app.PendingIntent; importa android.content.Context; importa android.content.Intent; importa android.graphics.dravable.Icon; importa android.os.Bundle; importēt android.widget.Button; importa android.view.View; sabiedriskās klases MainActivity paplašina AppCompatActivity ieviest View.OnClickListener {Button createBubble; Paziņojums.Būvnieks; NotificationManager paziņojumu pārvaldnieks; NotificationChannel channel; @Override aizsargāts tukšums onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); createBubble = findViewById (R.id.createBubble); noticeManager = (NotificationManager) getSystemService (Context.NOTIFICATION_SERVICE); CharSequence name = "Mans jaunais kanāls"; Stīgas apraksts = "Apraksts"; int svarīgums = NotificationManager.IMPORTANCE_HIGH; // Izveidojiet kanāla objektu // channel = new NotificationChannel ("1", nosaukums, nozīme); channel.setDescription (apraksts); channel.setAllowBubbles (taisnība); createBubble.setOnClickListener (tas); } @ Pārsniegt publisku anulēšanu onClick (skata skats) {switch (view.getId ()) {case R.id.createBubble: // Aktivitāte, kas tiks parādīta mūsu paplašinātajā burbulī // Intent target = new Intent (MainActivity). šī, BubbleActivity.class); // Izveidojiet PendingIntent // PendingIntent bubbleIntent = PendingIntent.getActivity (MainActivity.this, 0, target, PendingIntent.FLAG_UPDATE_CURRENT / * karodziņi * /); // Izveidojiet BubbleMetadata objektu // Notification.BubbleMetadata bubbleData = new Notification.BubbleMetadata.Builder () // Norādiet burbuļa vēlamo augstumu // .setDesiredHeight (600) // Norādiet burbuļa ikonu // .setIcon (Icon.createWithResource ( MainActivity.this, R.dravable.ic_)) // Norādiet mērķa burbuļa nodomu // .setIntent (bubbleIntent) .build (); veidotājs = jauns Notification.Builder (MainActivity.this, channel.getId ()) .setSmallIcon (R.dravable.ic_) // Pievienojiet objektu BubbleMetadata // .setBubbleMetadata (bubbleData); // Iesniegt NotificationChannel vietnē NotificationManager // paziņojumuManager.createNotificationChannel (kanāls); paziņojumuManager.notify (1, celtnieks.build ()); pārtraukums; }}}

Burbuļa ikonas izveidošana

Mūsu MainActivity atsaucas uz “ic_” zīmējumu, kas tiks izmantots, lai attēlotu mūsu burbuli sākotnējā, sabrukušajā stāvoklī. Izveidosim šo ikonu tūlīt:

  • Android Studio rīkjoslā atlasiet “Fails> Jauns> Image Asset”.
  • Atveriet nolaižamo izvēlni “Icon Type” un atlasiet “Action Bar and Tab Icons”.
  • Pārliecinieties, ka ir atlasīta poga “Clip Art”.
  • Noklikšķiniet uz pogas “Clip Art”.
  • Izvēlieties attēlu, kas atspoguļos paziņojumu par burbuli; Es izvēlos “”.
  • Noklikšķiniet uz “Labi”.
  • Laukā “Name” ievadiet “ic_”.
  • Noklikšķiniet uz Tālāk. Izlasiet informāciju uz ekrāna un, ja ar prieku turpiniet, noklikšķiniet uz Pabeigt.

Kamēr mēs esam šeit, izveidosim citus attēlu resursus, kurus mēs izmantosim šajā apmācībā. Mūsu izvērstais burbulis galu galā izmantos divas ikonas, lai attēlotu divas atšķirīgas darbības: kontakta izsaukšana un īsziņas nosūtīšana.

Lai izveidotu šos atvilktnes, atkārtojiet iepriekš minētās darbības, bet šoreiz:

  • Atlasiet attēlu, kas attēlo burbuļa “zvana” darbību. Es izmantoju “mic” resursu un nosaucu to par “ic_voice”.
  • Atlasiet attēlu, kas atspoguļos burbuļa darbību “atbilde uz”. Es izmantoju zīmējumu “atbilde” un nosaucu to par “ic_reply”.

Burbuļa aktivitātes veidošana

Tālāk mums jāizveido darbība, kas lietotājiem tiks parādīta katru reizi, kad viņi mijiedarbosies ar mūsu burbuli.

  • Android Studio rīkjoslā atlasiet “Fails> Jauns> Java klase”.
  • Nākamajā logā nosauciet šo klasi par “BubbleActivity”.
  • Noklikšķiniet uz “Labi”.

Mēs izmantosim šo klasi burbuļa satura noteikšanai, ieskaitot visas darbības, kuras lietotājs var veikt, mijiedarbojoties ar paplašināto burbuli. Lai palīdzētu mūsu kodu padarīt skaidrāku, es vienkārši parādīšu grauzdiņus katru reizi, kad lietotājs aktivizē burbuļa darbības “nosūtīt” un “balss zvans”.

Atveriet savu BubbleActivity klasi un pievienojiet šo:

importēt androidx.appcompat.app.AppCompatActivity; importa android.os.Bundle; importēt android.widget.ImageButton; importēt android.widget.Toast; importa android.view.View; Sabiedriskās klases BubbleActivity paplašina AppCompatActivity ievieš View.OnClickListener {@Orride aizsargātu spēkā neesamību onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_bubble); ImageButton voiceCall = (ImageButton) findViewById (R.id.voice_call); voiceCall.setOnClickListener (šis); ImageButton send = (ImageButton) findViewById (R.id.send); send.setOnClickListener (šis); } @ Pārspēt publisko tukšumu onClick (View v) {switch (v.getId ()) {case R.id.voice_call: Toast.makeText (BubbleActivity.this, "Calling contact", Toast.LENGTH_SHORT) .show (); pārtraukums; lieta R.id.send: Toast.makeText (BubbleActivity.this, "Sending", Toast.LENGTH_SHORT) .show (); pārtraukums; }}}

Paplašināta burbuļa izkārtojuma projektēšana

Tagad mums ir jāizveido atbilstošs izkārtojums mūsu BubbleActivity. Šis izkārtojums sastāv no:

  • RecylerView. Reālās pasaules ziņojumapmaiņas lietotnē šeit tiks parādīts tikko saņemtais, kā arī visas iepriekšējās ziņas.
  • Rediģēšanas teksts. Tas lietotājam ļaus tieši ievadīt atbildi burbuļa paziņojumā.
  • Divas ImageButtons. Tajās parādīsies ikonas, kurām lietotājs var pieskarties, lai nosūtītu īsziņas atbildi vai piezvanītu personai, kura to nosūtīja.

Izveidojiet jaunu izkārtojuma failu ar nosaukumu “activity_bubble”, kontrolē noklikšķinot uz projekta izkārtojuma direktorija un pēc tam Android Studio rīkjoslā atlasot “Jauns> Izkārtojuma resursa fails”.

Atveriet failu “activity_bubble.xml” un pievienojiet šo:

Vairāku logu un dokumentu lietotāja saskarne: manifesta atjaunināšana

Ja Android atpazīs BubbleActivity kā paplašinātu burbuli, mums jāatver manifests un jāveic dažas izmaiņas tā “BubbleActivity” deklarācijā.

1. Pievienojiet vairāku logu atbalstu

Sākumā norādiet, ka jūsu BubbleActivity atbalsta Android vairāku logu displeju:

android: resizeableActivity = "true"

2. Iespējot atļauju

Burbuļi tiek parādīti konteinera iekšpusē, kas pieder citai aktivitātei, tāpēc mūsu nākamais uzdevums ir paziņot, ka BubbleAktivitāte var tikt palaista kā iegultas citas aktivitātes bērns:

android: allowEmbedded = "true"

3. Atļaujiet vairākus gadījumus

Dažreiz jūsu lietojumprogrammai var būt nepieciešams parādīt vairākus viena veida burbuļus.

Tā kā mēs veidojam tērzēšanas lietojumprogrammu, pastāv iespēja, ka lietotājs vienlaikus var saņemt vairākus s no dažādiem cilvēkiem. Lai izvairītos no neskaidrībām, ir svarīgi, lai mēs katru sarunu attēlotu kā savu burbuli, pat ja tas nozīmē, ka ekrānā ir redzami vairāki burbuļi.

Ja vēlaties, lai jūsu lietojumprogramma parādītu vairākus viena veida burbuļus, tai jābūt spējīgai palaist vairākus gadījumus.

Lai jūsu lietotnei būtu iespēja izveidot vairākus gadījumus, deklarācijai “BubbleActivity” pievienojiet šo:

android: documentLaunchMode = "vienmēr"

Pabeigtais manifests

Pēc visu iepriekš minēto darbību veikšanas Manifesta sadaļā “BubbleActivity” vajadzētu izskatīties šādi:

Android Q burbuļu pārbaude

Lai pārbaudītu paziņojumus par burbuļiem, jums būs nepieciešama vai nu fiziska ierīce, kurā darbojas operētājsistēmas Android Q priekšskatījums vai jaunāka versija, vai Android virtuālā ierīce (AVD), kas ir konfigurēta Android Q atbalstam.

Lai izveidotu saderīgu AVD:

  • Android Studio rīkjoslā atlasiet “Rīki> AVD pārvaldnieks”.
  • Atlasiet “Izveidot virtuālo ierīci…”
  • Izvēlieties ierīces definīciju, kuru vēlaties izmantot, un pēc tam noklikšķiniet uz Tālāk.
  • Ekrānā “Atlasīt sistēmas attēlu” izvēlieties jaunāko “Q” sistēmas attēlu. Ja vēl neesat lejupielādējis Android Q, noklikšķiniet uz tam pievienotās saites “Lejupielādēt” un gaidiet, līdz sistēmas attēls tiks lejupielādēts jūsu datorā.

  • Piešķiriet savam AVD vārdu un pēc tam noklikšķiniet uz Pabeigt.

Lai pārbaudītu savu pieteikumu:

  • Palaidiet savu lietotni saderīgā AVD vai fiziskā Android ierīcē.
  • Pieskarieties pogai “Izveidot burbuļa paziņojumu”. Tagad ekrānā vajadzētu parādīties burbulis.
  • Piešķiriet klikšķi burbuļa ikonai, lai to aplūkotu kā izvērstu burbuli.
  • Ja tiek prasīts, piešķiriet lietojumprogrammas atļauju parādīt burbuļus, pieskaroties “Atļaut”.
  • Piešķiriet klikšķi burbuļa “zvana” darbībai, un vajadzētu parādīties tostam “Zvana kontakts”.
  • Mēģiniet noklikšķināt uz darbības “atbildēt”; tagad vajadzētu parādīties tostam “Sūtīšana”.

Pabeigtu projektu var lejupielādēt no GitHub.

Automātiski paplašinātu burbuļu izveidošana

Pašlaik visi mūsu lietojumprogrammas burbuļi parādās sakļautā stāvoklī, un tie tiks izvērsti tikai tad, ja lietotājs ar tiem mijiedarbosies. Tomēr ir iespējams izveidot burbuļus, kas automātiski izvēršas paplašinātā stāvoklī.

Parasti poga jākonfigurē parādīšanai paplašinātā stāvoklī tikai tad, ja lietotājs veic darbību, kas tieši rada šo burbuli, piemēram, pieskaroties pogai, lai atvērtu jaunu tērzēšanas logu vai izveidotu jaunu dokumentu.

Varat izveidot paplašinātu burbuli, objektam BubbleMetadata pievienojot setAutoExpandBubble (true).

Tikai ņemiet vērā, ka šis burbulis tiks izlikts izvērstā stāvoklī tikai tad, ja priekšplānā tiks parādīta tā saistītā lietojumprogramma. Ja lietotne, kas izveidoja šo burbuli, nav priekšplānā, metode setAutoExpandBubble () tiks pilnībā ignorēta.

Šajā fragmentā mēs paziņojam, ka burbuļa saturs ir jāpaplašina automātiski:

Notification.BubbleMetadata bubbleData = new Notification.BubbleMetadata.Builder () .setDesiredHeight (600) // Pievienojiet šo rindu // .setAutoExpandBubble (true) .setIcon (Icon.createWithResource (MainActivity.this, R.dravable.ic_)). setIntent (bubbleIntent) .build ();

Instalējiet atjaunināto projektu AVD vai Android ierīcē un pieskarieties pogai “Izveidot burbuļa paziņojumu”. Tā vietā, lai ekrānā parādītos burbuļa ikona, jūsu burbulim tagad vajadzētu automātiski palaist izvērstā stāvoklī.

Pilnībā izmantojiet burbuļus: paraugprakse

Tāpat kā ar katru jaunu funkciju, arī burbuļiem ir savs labākās prakses komplekts.

Pievienojot burbuļu paziņojumus savām Android lietotnēm, ir svarīgi ņemt vērā šādus nosacījumus:

1. Nepārlieciet lietotāju

Burbuļi aizņem ievērojamu ekrāna nekustamo īpašumu daudzumu, un tiem ir potenciāls pārtraukt visu, ko lietotājs šobrīd dara.

Ja jūs bombardējat lietotāju ar burbuļiem, labākajā gadījumā viņi bloķēs jūsu lietojumprogrammu no burbuļu izdošanas, un sliktākajā gadījumā viņi var pat pilnībā atinstalēt jūsu lietotni.

Lai izvairītos no lietotāju atsavināšanas, jums jāizdod paziņojumi par burbuļiem tikai par notikumiem, kas ir pietiekami svarīgi, lai lietotājam nekavējoties pievērstu uzmanību.

2. Koncentrējieties uz vienkāršību

Visi procesi, kas tiek palaisti no burbuļa, tiek izvietoti šī burbuļa konteinerā, kas bieži var būt ievērojami mazāks nekā parastā darbība.

Lai nodrošinātu labu lietotāja pieredzi, jums vajadzētu izvairīties no kārdinājuma iesaiņot burbuļus pilnā apjomā ar informāciju un funkcijām, tā vietā izveidojot pēc iespējas vieglus un saprotamus burbuļus.

3. Pārbaudiet burbuļus kā regulārus paziņojumus

Pastāv apstākļi, kad jūsu burbuļi lietotājam tiks parādīti kā standarta paziņojums, piemēram, ja ierīce ir bloķēta vai vienmēr ieslēgts displejs ir aktīvs.

Lai nodrošinātu labu lietotāja pieredzi neatkarīgi no tā, kā tiek parādīts jūsu burbulis, jums jāpārbauda, ​​kā katrs jūsu burbulis parādās un darbojas, kad tas tiek parādīts kā burbuļa paziņojums un kā parastu paziņojumu.

Iesaiņošana

Šajā rakstā mēs redzējām, kā jūs šodien varat sākt izmantot Android Q burbuļu funkciju. Šī raksta laikā mēs esam izveidojuši lietojumprogrammu, kas aktivizē sabrukumu un izvērsuši burbuļus pēc pieprasījuma, un izvērsto burbuli aizpildīja ar skatiem un pielāgotajām darbībām.

Kādas citas Android Q funkcijas jūs gaida izmēģināt? Paziņojiet mums komentāros zemāk!

Corair mehānikā tatatūra ir lavena ar avu kvalitāti pēļu paaulē. Paredzam, ka jum bū jāmakā augtāka cena par augtākā klae modeļiem, bet šodien ta tā nav....

Jaunajā Counterpoint Reearch ziņojumā Android tālruņu ražotāji ir ierindoti pēc to pējām piegādāt atjauninājumu. Ziņojumā tika apkatīti zīmola tālruņi, ka kopš 2018. gada 3. ceturkšņa tika pārdoti kum...

Svaigas Publikācijas