powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Проблема с запуском службы незапущенного приложения
7 сообщений из 7, страница 1 из 1
Проблема с запуском службы незапущенного приложения
    #39738017
Psolao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть приложение, в нем IntentService. Из приложения сервис запускается.
Есть второе приложение. Сворачиваем первое , передаем Intent в IntentService и все работает.
Но есть убить первое приложение , то сервис уже не запустится.
Та же проблема с одним приложением которое использует AlarmManager или JobScheduler - если убить приложение, то сервис уже не запустится по расписанию.

Как-то можно решить эту проблему?
...
Рейтинг: 0 / 0
Проблема с запуском службы незапущенного приложения
    #39738078
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Psolao,

версия андроида и производитель смартфона не имеют значения?
...
Рейтинг: 0 / 0
Проблема с запуском службы незапущенного приложения
    #39738154
Oleg Shishkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может поможет https://habr.com/post/341106/
...
Рейтинг: 0 / 0
Проблема с запуском службы незапущенного приложения
    #39738174
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PsolaoКак-то можно решить эту проблему?
Читаем про PendingIntent. Либо собираем монитор и из него перезапускаем.
...
Рейтинг: 0 / 0
Проблема с запуском службы незапущенного приложения
    #39738327
Man2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас проблны от не понимания....
...
Рейтинг: 0 / 0
Проблема с запуском службы незапущенного приложения
    #39740264
Psolao77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Meizu M2 Note android 5.1
Zebra TC510K android 6.0

Может действительно от непонимания проблема. Зебра прекрасно отрабатывает, пока на зайдешь в настройки приложения и принудительно не остановишь его. В Мейзу просто его легче убить через диспетчер.

Возможно если служба будет раз в 15 минут запускаться, и будет достаточно ресурсов, то приложение и не умрет.

Вот тестовый пример.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
package com.steerp.steerpcontroller;

import android.app.AlarmManager;
import android.app.IntentService;
import android.app.Notification;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.os.SystemClock;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationManagerCompat;

import java.util.concurrent.TimeUnit;

public class PollService extends IntentService {
    private static final String TAG = "PollService";

    public static Intent newIntent(Context context) {
        return new Intent(context, PollService.class);
    }

    public static void setServiceAlarm(Context context, boolean isOn) {
        Intent i = PollService.newIntent(context);
        i.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK|Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
        PendingIntent pi = PendingIntent.getService(
                context, 0, i, 0);

        AlarmManager alarmManager = (AlarmManager)
                context.getSystemService(Context.ALARM_SERVICE);

        if (isOn) {
            long poolIntervalMs = TimeUnit.SECONDS.toMillis(QueryPreferences.getPoolingInterval(context));
                   alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME,
                    SystemClock.elapsedRealtime(), poolIntervalMs, pi);
        } else {
            alarmManager.cancel(pi);
            pi.cancel();
        }

    }

    public static boolean isServiceAlarmOn(Context context) {
        Intent i = PollService.newIntent(context);
        PendingIntent pi = PendingIntent
                .getService(context, 0, i, PendingIntent.FLAG_NO_CREATE);
        return pi != null;
    }

    public PollService() {
        super(TAG);
    }

    @Override
    protected void onHandleIntent(Intent intent) {
        Notification notification = new NotificationCompat.Builder(this)
                .setTicker("Test")
                .setSmallIcon(android.R.drawable.ic_menu_report_image)
                .setContentTitle("Test_title")
                .setContentText("Test_text")
                .setAutoCancel(true)
                .build();

        NotificationManagerCompat.from(getApplicationContext()).notify(0, notification);

    }
}
...
Рейтинг: 0 / 0
Проблема с запуском службы незапущенного приложения
    #39740266
Psolao77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
QueryPreferences.getPoolingInterval(context)

- это из настроек берется интервал между запусками
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Проблема с запуском службы незапущенного приложения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]