Как запустить приложение в фоновом режиме программно? - PullRequest
0 голосов
/ 30 октября 2019

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

@ Override

public int onStartCommand(Intent intent, int flags, int startId) {
public void displayEvent(@AccelerationEvent int event, int data)
    {
        if (mCurrentDetectEvent == FeatureAccelerationEvent.DetectableEvent.FREE_FALL) {
            Context context = getContext();
            mShakeImage.start();
            button.setOnClickListener(v -> {
                Intent intent = new Intent(context, MainActivity.class);
                context.startActivity(intent);
                System.exit(0);
            });

            new Handler().postDelayed(() -> {
                new AlertDialog.Builder(context)
                        .setTitle("Alert")
                        .setMessage("This is an alert")
                        .show();
                //---------------call function from CallScreen()------------------------------------
                Intent intent = new Intent(context.getApplicationContext(), CallScreen.class);
                context.startActivity(intent);
            }, 10000);

        }

1 Ответ

0 голосов
/ 30 октября 2019

Вам нужно прочитать это https://developer.android.com/guide/components/services и, возможно, https://developer.android.com/reference/android/app/job/JobScheduler

Возможно, вам придется переделать архитектуру вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...