Служба не работает в фоновом режиме, когда приложение закрыто вручную - PullRequest
0 голосов
/ 04 апреля 2020

Мой сервис не работает, это фоновый режим при запуске вручную и закрытии приложения. Я хочу запустить сервис автоматически, когда мое приложение закрыто.

Но в этом примере, когда я закрываю приложение, оно печатает «служба создана», а затем «служба уничтожена», но не печатает как «служба работает» после «служба создана».

Мой код службы.

public class DataChangeService extends Service {
    Toaster toaster; //

    @Override
    public void onCreate() {
        super.onCreate();
        toaster = new Toaster(getApplication());
        toaster.showMsg("service created");

    }

    public IBinder onBind(Intent intent) {
        return null;

    }

    public int onStartCommand(Intent intent, int flags, int startId) {
        toaster.showMsg("Service is running");
        return START_STICKY;
    }

    public void onDestroy() {
        super.onDestroy();

        toaster.showMsg("service destroyed");
    }
}

My Toaster для печати сообщения Toast

public class Toaster {
    Context context;
    public Toaster(Context context){
        this.context=context;
    }
    public void showMsg(String msg)
    {
        Toast.makeText(context,msg,Toast.LENGTH_SHORT).show();
    }
}

Эта служба вызывается из метода onCreate ().

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        startService(new Intent(MainActivity.this,DataChangeService.class));

        }
    }

Ниже приведен мой файл манифеста.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.selfish.servicex">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <service android:name=".DataChangeService" android:exported="true" android:enabled="true"/>
    </application>
</manifest>

Моя конфигурация android ниже

  • Android Studio 3.6.1
  • Gradle 5.4.1
  • API эмулятора Level29
  • Минимум SDK 21 Цель 29

Помогите мне запустить мой сервис в фоновом режиме, когда приложение закрыто.

...