在后台启动启动android活动

时间:2015-08-18 11:25:36

标签: android xamarin xamarin.android

我想在后台启动完成后启动应用程序。 我不想展示UI。

这是我的代码,它启动应用程序,好像我点击了它的图标,但我需要隐藏它!

[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);

        }
    }
}

1 个答案:

答案 0 :(得分:3)

如果您需要没有用户界面的Activity,您可能需要一项服务。

将您需要在启动时执行的逻辑从Activity移至Service(更多信息here)。

然后,为了启动它,只需更改您的意图a即可使用typeof(MyServiceClass),设置您可能需要的任何标记并拨打StartService而不是StartActivity