Ilova tugaganidan keyin ham ishlaydigan Android App Service yarating

Bu fonda ishlashni xohlagan xizmat

public class CustomMyService extends Service {

     public CustomMyService() {

    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        return START_STICKY;
    }

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onTaskRemoved(Intent rootIntent) {
        Intent intent = new Intent("com.android.ServiceStopped");
        sendBroadcast(intent);
    }
}

Manifest fayl


            
                
                
            
        

Marhamat, kimdir menga xabar bering. Men Google va youtube qidiruvlarini qildim, hech narsa ishlamayapti.

Ushbu ilovaga autostart uchun ruxsat berilsam, xizmat fonda ishlaydi, agar autmartart deb nomlangan variant bor bo'lsa, radmi note 3 dan foydalanib.

Biroq, bu imkoniyat boshqa Android smart-smartfonlarida ham mavjud emas, shuning uchun ilovalar to'xtatilsa, ilovalar xizmatlari o'ldiriladi.

Ilova bekor qilingandan keyin ham xizmat ko'rsatish qanday ishlashini iltimos qilishingizni so'rang.

0
Xizmatni amalga oshirishni xohlagan kod bilan maxsus sinf usulini yozing va uni onStartCommand() dan chaqiring. Xizmatni ishga tushirish uchun biror narsa kerak bo'lmasa, konstruktor talab qilinmaydi.
qo'shib qo'ydi muallif Prajjwal Srivastav, manba

6 javoblar

Xizmat vaqtini vaqti-vaqti bilan bekitish uchun AlarmManager-dan foydalaning. Ilova tugallangach, xizmat to'xtatiladi, chunki qayta urinish kerak va signalni boshqarish xizmatni qayta ishga tushirishga yordam beradi.

Uzluksiz xizmat ko'rsatish uchun ko'plab usullar mavjud, ammo bu usullar kitkat versiyasidan so'ng foydali emas. .

Agar siz ilovani to'xtatib bo'lgandan keyin ham xizmatni doimiy ravishda ishlatish uchun muvaffaqiyatingiz bo'lsa, rejalashtirish usullari kabi biron-bir signalni menejeri foydalanmasdan iltimos, menga xabar bering.

1
qo'shib qo'ydi
Signal menejeri harakat qildim, lekin amalga oshdi ... echimni olgach, ishonchim komil ...
qo'shib qo'ydi muallif Sridhar Srivin, manba

onStartCommand usuli va paramga qarang:

START_STICKY

START_NOT_STICKY

START_REDELIVER_INTENT

START_STICKY_COMPATIBILITY

Agar ishlamasa, xizmatni fonda ishlashga ruxsat berilmasligi mumkin

1
qo'shib qo'ydi
Ushbu ilovalar Facebook kabi qanday ishlaydi, whatsapp fonda ishlashni davom ettiradi
qo'shib qo'ydi muallif Sridhar Srivin, manba

Sizning xizmatingizni oldingi rejaga aylantiring, shu sababli Android tizimi plyonka dasturini ko'rib chiqadi va uni osonlik bilan o'ldirmaydi. Xizmatni oldingi holatga keltirish uchun quyidagi kodni ishlating.

StartForeground(100, new Notification ());

Esingizda bo'lsin, xizmatni to'xtatib turish (100) xizmatiga qo'ng'iroq qilishingiz kerak.

0
qo'shib qo'ydi

Mana demo:

 public class SyncJobService extends Service {
private String TAG = "mytag";
private Timer timer = new Timer();
private EventBus evenBus = EventBus.getDefault();
public static Date lastSyncDate;

@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public void onCreate() {
    super.onCreate();
    timer.scheduleAtFixedRate(new TimerTask() {
        @Override
        public void run() {
            Log.d(TAG, "run: StartSyncEvent");
 //               Implement your logic


          }
        }, 0, 5 * 60 * 1000);//5 Minutes

}

@Override
public void onDestroy() {
    Log.d(TAG, "onDestroy: ");
    super.onDestroy();
}

}

ManiFest fayli:

    
0
qo'shib qo'ydi
Server bilan ma'lumotlarni sinxronlashtirish uchun.
qo'shib qo'ydi muallif Patel Jaimin, manba
Xizmatingiz nima qiladi, bizga xabar bering.
qo'shib qo'ydi muallif Sridhar Srivin, manba
0
qo'shib qo'ydi

lenovo, xolo va hokazo. Kabi ba'zi telefonlarda fonda uchinchi shaxslar ilovasi o'chiriladi. Shunday qilib, dastur yopiq bo'lgan paytda xizmatga ruxsat bermaydi. Xizmatingizni boshqa telefonlarga tekshiring. 1.Better Start plyus xizmatidan foydalanish. 2. Ishni boshlash yopishqoq bo'lsa, dastur tugatilsa, xizmat fon jarayoni uchun avtomatik ravishda qayta ishga tushiriladi.

0
qo'shib qo'ydi