除了Activity之外,在Xamarin Android中使用iBeacons

时间:2015-04-18 10:27:45

标签: android xamarin xamarin.android xamarin.forms ibeacon-android

我有一个Xamarin Forms应用程序,其中一个页面是在Android上本地呈现的。

 public class ConnectIBeaconRenderer : PageRenderer , IBeaconConsumer
{
//How to implement IBeaconConsumer here?
}

如上所述如何在该页面渲染器中实现IBeaconConsumer? 在活动中实施所有必须实现的是

 public void OnIBeaconServiceConnect()
    {
      //Only needs implementing this when inside an activity. 
    }

在我的情况下,正如我所说,我不参加活动,而是在页面渲染器上。我如何实现IBeaconConsumer的其余成员?

public Context ApplicationContext
    {
        get
        {
            throw new NotImplementedException();
        }
    }

    public bool BindService(Intent intent, IServiceConnection serviceConnection, Bind flags)
    {
        throw new NotImplementedException();
    }

    public void UnbindService(IServiceConnection p0)
    {
        throw new NotImplementedException();
    }

感谢任何帮助。谢谢

1 个答案:

答案 0 :(得分:1)

我不是Xamarin专家,但是当在Android中本地执行等效操作时,您可以通过链接另一个Context对象的方法来解决此问题。您需要找到一种方法,使用自定义构造函数或setter将活动或应用程序中的有效Context对象传递到ConnectIBeaconRenderer类。完成后,您可以:

public Context ApplicationContext
{
    get
    {
        return context;
    }
}

public bool BindService(Intent intent, IServiceConnection serviceConnection, Bind flags)
{
    return context.BindService(intent,service connection,flags);
}

public void UnbindService(IServiceConnection p0)
{
    return context.UnbindService(p0);
}