在android中调用活动关闭时服务变量重置

时间:2014-01-11 16:23:43

标签: c# android service xamarin bind

我现在有这个问题已经有几天了,我在互联网上做了很多搜索,但没有找到适用于我的情况。

我有服务:

namespace Demo_Service_Name
{
    public static class MyGlobals
    {
        ...
        public static int DurSelection;
    }

    class Service_Connection : Java.Lang.Object, IServiceConnection
    {...}

    public class Demo_Service : Service
    {
        public void Setup_Service(int DSel)
        {
            MyGlobals.DurSelection = DSel;
        }

        public int Get_Duration_Selection()
        {
            return MyGlobals.DurSelection;
        }

        ...
    }

}

我的Activity是这样的:

using Demo_Service_Name
namespace Demo_Activity
{
    public class Activity1 : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            ....
            ThisService = new Intent(this, typeof(Demo_Service));
            if (isMyServiceRunning())
            {
                demoServiceConnection = new Neural_Service_Connection(this);
                isBound = BindService(ThisService, demoServiceConnection, Bind.none);
                int servVar = binder.GetDemoService().Get_Duration_Selection();
            }
        }

        protected void OnStartMyService()
        {
            ....
            StartService(ThisService);
            isBound = BindService(ThisService, demoServiceConnection, Bind.none);
            binder.GetDemoService().Setup_Service(A_Certain_Number);
        }
    }
}

所以我想做的是从活动启动服务,绑定它,传递一个值,关闭活动,重新打开活动,并在服务运行时将变量读回活动。

所有工作都应该这样,除非我关闭活动时,服务变量中的值会被重置。

你觉得我错过了什么?

PS。我确信Service.OnDestroy尚未被调用

0 个答案:

没有答案