FMUSER უფრო მარტივად გადასცემს ვიდეოს და აუდიოს!

[ელ.ფოსტით დაცულია] WhatsApp + 8618078869184
ენა

    Android BroadCast მაუწყებლობს ცოდნის წერტილებს

     

    BroadCast Receiver:
    1) სამაუწყებლო მიმღები არის კომპონენტი, რომელიც ფოკუსირებულია სამაუწყებლო შეტყობინების ინფორმაციის მიღებაზე და შესაბამისი დამუშავებაზე. მრავალი მაუწყებლობა სისტემაში იღებს სათავეს - მაგალითად, შეტყობინებები დროის ზონის შეცვლის, ელემენტის დაბალი დონის, გადაღებული ფოტოს ან მომხმარებლის მიერ ენის შეცვლილი ვარიანტების შესახებ. აპლიკაციებს ასევე შეუძლიათ სამაუწყებლო მაუწყებლობა, მაგალითად, აცნობონ სხვა აპლიკაციებს, რომ ზოგიერთი მონაცემი გადმოწერილია და არის გამოსაყენებელ მდგომარეობაში.

    2) აპლიკაციას შეიძლება ჰქონდეს ნებისმიერი რაოდენობის სამაუწყებლო მიმღები, რომ უპასუხოს ყველა იმ შეტყობინებას, რომელიც მისთვის საინტერესოა. ყველა მიმღებს მემკვიდრეობით გადაეცემა BroadcastReceiver ბაზის კლასი.

    3) სამაუწყებლო მიმღებს არ გააჩნია მომხმარებლის ინტერფეისი. ამასთან, მათ შეუძლიათ დაიწყონ აქტივობა მათ მიერ მიღებული ინფორმაციის საპასუხოდ, ან გამოიყენონ NotificationManager მომხმარებლისთვის ამის შესახებ. შეტყობინებები შეიძლება გამოყენებულ იქნეს მრავალმხრივ, რომ მიიპყრო მომხმარებლის ყურადღება განათების შუქზე, ვიბრაცია, ხმის დაკვრა და ა.შ. ზოგადად რომ ვთქვათ, მუდმივი ხატი მოთავსებულია სტატუსის ზოლზე და მომხმარებელს შეუძლია გახსნას იგი და მიიღოს შეტყობინება.

     

    რამდენი სახის მაუწყებლობაა? რა განსხვავებაა მათ შორის?

    მაუწყებლობა იყოფა ორ სხვადასხვა ტიპად: "ნორმალური მაუწყებლობა" და "შეკვეთილი მაუწყებლობა". ჩვეულებრივი მაუწყებლობა მთლიანად ასინქრონულია და მისი მიღება ერთდროულად (ლოგიკურად) შესაძლებელია ყველა მიმღების მიერ. შეტყობინების მიწოდების ეფექტურობა შედარებით მაღალია, მაგრამ მინუსი ის არის, რომ მიმღებს არ შეუძლია გადასცეს დამუშავების შედეგი მომდევნო მიმღებს და მაუწყებლობა ვერ წყდება. Intent– ის გავრცელება.

    ამასთან, მოწესრიგებული მაუწყებლობა ემყარება მიმღების მიერ გამოცხადებულ პრიორიტეტს და მიმღები თავის მხრივ იღებს მაუწყებლობას. მაგალითად, თუ A დონე უფრო მაღალია, ვიდრე B, ხოლო B დონე უფრო მაღალია, ვიდრე C, მაშინ მაუწყებლობა ჯერ გადაეცემა A- ს, შემდეგ B- ს და ბოლოს C- ს. პრიორიტეტული დონე გამოცხადებულია android- ში: intent-filter ელემენტის პრიორიტეტული ატრიბუტი. რაც უფრო დიდია ნომერი, მით უფრო მაღალია პრიორიტეტული დონე. მნიშვნელობის დიაპაზონი -1000-დან 1000-მდეა. პრიორიტეტული დონის დაყენება შესაძლებელია ასევე IntentFilter ობიექტის setPriority () გამოძახებით. მოწესრიგებული მაუწყებლობის მიმღებს შეუძლიათ შეწყვიტონ მაუწყებლობის განზრახვის მაუწყებლობა. მას შემდეგ, რაც გადაცემა Intent შეწყდება, მომდევნო მიმღებები ვერ შეძლებენ მაუწყებლობის მიღებას.

    გარდა ამისა, შეკვეთილი მაუწყებლობის მიმღებს შეუძლია გადასცეს მონაცემები შემდეგ მიმღებს. მაგალითად, მას შემდეგ, რაც A მიიღებს მაუწყებლობას, მას შეუძლია შეინახოს მონაცემები მისი შედეგის ობიექტში. როდესაც მაუწყებლობა ეგზავნება B- ს, B- ს შეუძლია მიიღოს შედეგი ობიექტისგან A. მიიღეთ მონაცემები, რომლებიც შენახულია A- ში.

    Context.sendBroadcast () აგზავნის ჩვეულებრივ მაუწყებლობას და ყველა აბონენტს აქვს შესაძლებლობა მიიღოს და დაამუშაოს იგი.

    Context.sendOrowedBroadcast () აგზავნის შეკვეთილ მაუწყებლობას. სისტემა სათითაოდ შეასრულებს მიმღებებს მიმღების მიერ გამოცხადებული პრიორიტეტის შესაბამისად. წინა მიმღებს აქვს მაუწყებლობის შეწყვეტის უფლება (BroadcastReceiver.abortBroadcast ()), თუ მაუწყებლობა მიიღება წინათ თუ მიმღები წყდება, მომდევნო მიმღებებს აღარ შეეძლებათ მაუწყებლობის მიღება. შეკვეთილი მაუწყებლობისთვის წინა მიმღებს შეუძლია მონაცემების შენახვა შედეგის ობიექტში setResultExtras (შეკვრის) მეთოდით და შემდეგ გადასცეს შემდეგ მიმღებს. შემდეგ მიმღებს შეუძლია კოდის მეშვეობით მიიღოს წინა: Bundle bundle = getResultExtras (true)) მიმღების მიერ შენახული მონაცემები შედეგების ობიექტში

     

    განსხვავება ადგილობრივ მაუწყებლობასა და გლობალურ მაუწყებლობას შორის

    BroadcastReceiver არის კომუნიკაციის საშუალება პროგრამებს შორის, პროგრამებსა და სისტემებს შორის და პროგრამებში

    LocalBroadcastReceiver მხოლოდ აგზავნის და იღებს მაუწყებლობას მხოლოდ საკუთარი პროგრამის ფარგლებში, ანუ მისი მიღება მხოლოდ საკუთარ აპლიკაციას შეუძლია. მონაცემები უფრო უსაფრთხოა მხოლოდ ამ პროგრამაში და უფრო ეფექტურია.

    BroadcastReceiver გამოყენება

    1. განზრახვის გაკეთება (შეუძლია პარამეტრების ტარება)

    2. გამოიყენეთ sendBroadcast () მიზნის მისაღწევად;

    3. მაუწყებლობის მიმღების კლასს მემკვიდრეობით მიანიჭეთ BroadcastReceiver და უარი თქვით onReceive მეთოდზე (ან შეგიძლიათ გააკეთოთ ანონიმური შიდა კლასი ან სხვა რამ)

    4. დაარეგისტრირეთ მაუწყებლის მიმღები java (დინამიური რეგისტრაცია) ან უშუალოდ მანიფესტში (სტატიკური რეგისტრაცია). გამოიყენეთ RegisterReceiver () მიმღებსა და intentFilter- ში გადასასვლელად

    5. რეგისტრაციის გაუქმება შეიძლება იყოს OnDestroy () ფუნქციაში, unregisterReceiver () გადაეცემა მიმღებში

    LocalBroadcastReceiver გამოყენება

    LocalBroadcastReceiver არ შეიძლება დარეგისტრირდეს სტატიკურად და შესაძლებელია მხოლოდ დინამიურად დარეგისტრირება.

    გამოიყენება გაგზავნისა და რეგისტრაციისას, LocalBroadcastManager's sendBroadcast მეთოდი და RegisterReceiver მეთოდი

     

     

     

     

    ჩამოთვალეთ ყველა კითხვა

    მეტსახელად

    Email

    კითხვები

    ჩვენი სხვა პროდუქტი:

    პროფესიონალური FM რადიოსადგურის აღჭურვილობის პაკეტი

     



     

    სასტუმრო IPTV Solution

     


      შეიყვანეთ ელ.წერილი სიურპრიზის მისაღებად

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> აფრიკული
      sq.fmuser.org -> ალბანური
      ar.fmuser.org -> არაბული
      hy.fmuser.org -> სომხური
      az.fmuser.org -> აზერბაიჯანული
      eu.fmuser.org -> ბასკური
      be.fmuser.org -> ბელორუსული
      bg.fmuser.org -> Bulgarian
      ca.fmuser.org -> კატალანური
      zh-CN.fmuser.org -> ჩინური (გამარტივებული)
      zh-TW.fmuser.org -> ჩინური (ტრადიციული)
      hr.fmuser.org -> ხორვატული
      cs.fmuser.org -> ჩეხური
      da.fmuser.org -> დანიური
      nl.fmuser.org -> ჰოლანდიური
      et.fmuser.org -> ესტონური
      tl.fmuser.org -> ფილიპინური
      fi.fmuser.org -> ფინური
      fr.fmuser.org -> ფრანგული
      gl.fmuser.org -> გალური
      ka.fmuser.org -> ქართული
      de.fmuser.org -> გერმანული
      el.fmuser.org -> ბერძნული
      ht.fmuser.org -> ჰაიტიური კრეოლური
      iw.fmuser.org -> ებრაული
      hi.fmuser.org -> ჰინდი
      hu.fmuser.org -> Hungarian
      is.fmuser.org -> ისლანდიური
      id.fmuser.org -> ინდონეზიური
      ga.fmuser.org -> ირლანდიური
      it.fmuser.org -> იტალიური
      ja.fmuser.org -> იაპონური
      ko.fmuser.org -> კორეული
      lv.fmuser.org -> ლატვიური
      lt.fmuser.org -> ქართული
      mk.fmuser.org -> მაკედონური
      ms.fmuser.org -> მალაიზიური
      mt.fmuser.org -> მალტური
      no.fmuser.org -> ნორვეგიული
      fa.fmuser.org -> სპარსული
      pl.fmuser.org -> პოლონური
      pt.fmuser.org -> პორტუგალიური
      ro.fmuser.org -> რუმინული
      ru.fmuser.org -> რუსული
      sr.fmuser.org -> სერბული
      sk.fmuser.org -> სლოვაკური
      sl.fmuser.org -> Slovenian
      es.fmuser.org -> ესპანური
      sw.fmuser.org -> სუაჰილი
      sv.fmuser.org -> შვედური
      th.fmuser.org -> Thai
      tr.fmuser.org -> თურქული
      uk.fmuser.org -> უკრაინული
      ur.fmuser.org -> ურდუ
      vi.fmuser.org -> ვიეტნამური
      cy.fmuser.org -> უელსური
      yi.fmuser.org -> Yiddish

       
  •  

    FMUSER უფრო მარტივად გადასცემს ვიდეოს და აუდიოს!

  • კონტაქტი

    მისამართი:
    No.305 ოთახი HuiLan კორპუსი No.273 Huanpu Road Guangzhou China 510620

    ელ-ფოსტა:
    [ელ.ფოსტით დაცულია]

    ტელ / WhatApps:
    + 8618078869184

  • კატეგორიები

  • საინფორმაციო ბიულეტენი

    პირველი ან სრული სახელი

    ელ-ფოსტა

  • paypal გადაწყვეტა  დასავლეთის გაერთიანებაბანკი ჩინეთის
    ელ-ფოსტა:[ელ.ფოსტით დაცულია]   WhatsApp: +8618078869184 Skype: sky198710021 ესაუბროთ me
    Copyright 2006-2020 Powered By www.fmuser.org

    დაგვიკავშირდით