Как пройти через json и автоматически заполнить изображение в функции json

Вместо создания новой службы для широковещательного приемника вы можете напрямую создать класс вещательного приемника, который будет прослушивать системные трансляции, даже если приложение не работает. Создайте новый класс, который расширяет BroadcastReceiver.

public class YourReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        //Do your stuff
    }
}

И зарегистрируйте его в манифесте.


        
            
            
            
        

Читайте об Manifest-declared receivers здесь .

Выше решение не будет работать, здесь является причиной. Проблема в том, что ваша служба убивается, когда приложение убито, поэтому экземпляр вашего приемника удаляется из памяти. Здесь - это небольшой трюк, чтобы повторно запустить службу в фоновом режиме. Добавьте следующий код в свою службу.

@Override
public void onTaskRemoved(Intent rootIntent){
    Intent restartServiceIntent = new Intent(getApplicationContext(), this.getClass());
    restartServiceIntent.setPackage(getPackageName());

    PendingIntent restartServicePendingIntent = PendingIntent.getService(getApplicationContext(), 1, restartServiceIntent, PendingIntent.FLAG_ONE_SHOT);
    AlarmManager alarmService = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
    alarmService.set(
    AlarmManager.ELAPSED_REALTIME,
    SystemClock.elapsedRealtime() + 1000,
    restartServicePendingIntent);

    super.onTaskRemoved(rootIntent);
 }

Хотя это неправильный способ сделать это. Также в Android 26+ вы не сможете это сделать, и вы поедете на службу переднего плана . https://developer.android.com/about/versions/oreo/background

-1
задан Fumatamax 19 January 2019 в 14:02
поделиться