我有BroadcastReceiver
,在其OnReceive
上,我应该调用MainActivity
中定义的方法。无论我在哪里搜索,我发现我必须编写以下代码。
Bundle bundle = intent.Extras;
Intent callingIntent = new Intent(context, typeof(MainActivity));
callingIntent.PutExtra("isSynched", true);
callingIntent.AddFlags(ActivityFlags.NewTask);
callingIntent.AddFlags(ActivityFlags.SingleTop);
context.StartActivity(callingIntent);
现在这会调用我的方法,但应用程序会一直打开。我不希望这种情况发生。我希望在应用程序处于后台并且希望应用程序处于后台时调用该方法。我该怎么办?我正在使用xamarin来编写代码。 我创建了一个获取数据的服务,但在收到数据后,我必须在MainActivity中调用一个方法来更新日历。我目前在OnRecieve中这样做,public override void
OnReceive(Context context, Android.Content.Intent intent)
{
if (context.GetType().Equals(typeof(MainActivity)))
{
((MainActivity)context).SyncCalendar();
}}
这种背景即将成为受限制的。所以无法调用SyncCalendar方法