Articles of андроид сервис

Служба Android stopSelf (int)

Вот мой код – public class BackgroundService extends Service { @Override public int onStartCommand(Intent intent, int flags, int startId) { super.onStartCommand(intent, flags, startId); new ServiceThread(startId); return START_NOT_STICKY; } class ServiceThread extends Thread { private int startId; ServiceThread(int startId) { this.startId = startId; } @Override public void run() { super.run(); try { Thread.sleep((long) Math.random()); } catch […]

Как установить разрешение WRITE_SECURE_SETTINGS в android?

Я пытаюсь включить параметры службы специальных возможностей выше 4.0, но он показывает исключение, т. Е. Вызывается: java.lang.SecurityException: отказ в разрешении: для записи в безопасные настройки требуется андроид.permission.WRITE_SECURE_SETTINGS В манифесте я объявил это разрешение следующим образом. <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> Но в манифесте дается компиляция Ошибка, т. Е. Разрешение – это только системные приложения. Поэтому я не […]

PostDelayed () в службе

Я пытаюсь перезапустить службу из себя через несколько секунд. Мой код выглядит так (внутри onStartCommand(…) ) Looper.prepare(); Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(BackgroundService.this, BackgroundService.class); startService(intent); } }, 3 * 60000); Служба работает на переднем плане, пока выполняется этот код, но, похоже, он не […]

Запускать работу и делать пул каждые 2 минуты, закрыто или закрыто приложение из памяти

Я использую android-priority-job-queue 'com.github.yigit: android-priority-jobqueue'. Чтобы убедиться, что он работает каждые 2 минуты. Ниже приведен код public PoolingJob () { // This job requires network connectivity, // and should be persisted in case the application exits before job is completed. super (new Params (PRIORITY).requireNetwork ().groupBy (Const.POOLING_QUEUE_GROUP) .delayInMs (120000).persist ());//120 sec delay } Но он приостанавливается […]

Местное вещание из Службы, не полученной по видам деятельности

У меня есть Activity в котором я регистрирую BroadcastReceiver локально следующим образом: public class SomeActivity extends Activity{ public static final String PERFORM_SOME_ACTION = "PERFORM_SOME_ACTION"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.some_activity_layout); ….. ….. IntentFilter filter = new IntentFilter(); filter.addAction(PERFORM_SOME_ACTION); receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { // perform […]

Android – Тамагочи игровой фоновой службы

Я пытаюсь построить игру Tamagotchi с Unity для Android. У Тамагочи есть пищевой атрибут, который должен опускаться, даже когда Игра закрыта. Поэтому мой подход будет заключаться в создании IntentService, который содержит переменные, увеличивая и уменьшая их, если это необходимо. По причинам Batterie я бы использовал диспетчер Alarm для запуска службы только каждые 10 минут, если […]

IntentService – найти количество ожиданий в очереди

В моем приложении я использую IntentService для выполнения некоторой работы. Я хочу узнать, сколько намерений ожидает обработки, поскольку IntentService хранит их в «рабочей очереди» и отправляет следующую onStartCommand() по завершении onStartCommand предыдущего. Как я могу узнать, сколько Intents ждут в этой «рабочей очереди»?

PeekService () возвращает null, даже если служба запущена, если служба перезагружается системой после того, как OOM убьет

Я запускаю сервис, используя startService(new Intent(this, RelayService.class)); И затем служба запускает аварийный сигнал, используя AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(this, SyncAlarmReceiver.class); PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); am.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + SYNC_EVERY_MS, SYNC_EVERY_MS, pi); А затем BroadcastReceiver SyncAlarmReciver пытается получить услугу, используя RelayServiceBinder relay = (RelayServiceBinder) peekService(context, new Intent(context, RelayService.class)); Все […]

Как имитировать службу, убитую системой Android

Во время разработки я хотел проверить ситуацию, когда система убивает службу. Это связано с тем, что я теряю связь при общении между Android Wear и КПК. И я думаю, что это связано с тем, что система убивает некоторые сервисы. Кто-нибудь имеет предложение о том, как подойти к этому?

Название действия или получателя, вызывающего службу

У меня есть служба Intent, которая вызывается либо из получателя, либо из-за действия. Я хотел бы узнать имя получателя или активность, которая запускает службу. Я не хочу использовать какие-либо дополнительные функции или флаги для перехода к сервису. Есть ли способ увидеть стек активности, пока код находится в запуске?