Запуск активности Android при загрузке в фоновом режиме

Я хочу запустить приложение после завершения загрузки в фоновом режиме. Я не хочу показывать интерфейс.

Это мой код, он запускает приложение, как если бы я щелкнул его значок, но мне нужно его скрыть!

[BroadcastReceiver]
[IntentFilter(new[] { Android.Content.Intent.ActionBootCompleted },
    Categories = new[] { Android.Content.Intent.CategoryDefault }
)]
public class ReceiveBoot: BroadcastReceiver
{
    public override void OnReceive(Context context, Intent intent)
    {

        if ((intent.Action != null) &&
            (intent.Action ==
                Android.Content.Intent.ActionBootCompleted))
        { 

            Android.Content.Intent start = new Android.Content.Intent(context, typeof(Main_Activity));
            start.AddFlags(ActivityFlags.NewTask);
            start.AddFlags(ActivityFlags.FromBackground);
            context.ApplicationContext.StartActivity(start);

        }
    }
}

person Mouhannad Bar    schedule 18.08.2015    source источник
comment
Я не хочу показывать пользовательский интерфейс. Тогда вам не нужна активность. Служба наверное.   -  person Raghunandan    schedule 18.08.2015
comment
Короче говоря, это невозможно, если у вас есть хотя бы 1 действие, запуск которого после перезагрузки покажет пользовательский интерфейс. Если он не содержит и пользовательский интерфейс, то его можно запустить как службу. Для как запустить приложение после перезагрузки   -  person Murtaza Khursheed Hussain    schedule 18.08.2015


Ответы (1)


Если вам нужен Activity без пользовательского интерфейса, вам, вероятно, нужна услуга.

Переместите логику, которую необходимо выполнять при загрузке, с Activity на Service (подробнее об этом здесь).

Затем, чтобы запустить его, просто измените свое намерение на использование typeof(MyServiceClass), установите любой флаг, который вам может понадобиться, и вызовите StartService вместо StartActivity

person William Barbosa    schedule 18.08.2015