Android Xamarin ContentResolver/CursorLoader访问处于非活动状态

Android Xamarin ContentResolver/CursorLoader访问处于非活动状态,android,android-activity,service,xamarin,android-contentresolver,Android,Android Activity,Service,Xamarin,Android Contentresolver,当没有活动时(例如,当我试图从服务访问它时),是否可以访问Contentresolver 我尝试过“Android.App.Context”和“Android.App.Activity”的东西,但没有成功 以下是我尝试访问的内容提供者(使用活动): 我想在没有activity对象的情况下执行相同的调用(或者在activity不显式存在的情况下以某种方式重试该活动) 编辑:代码。添加了从中继承的类 您可以使用Android.App.Application.Context检索上下文,以提供游标加载程

当没有活动时(例如,当我试图从服务访问它时),是否可以访问Contentresolver

我尝试过“Android.App.Context”和“Android.App.Activity”的东西,但没有成功

以下是我尝试访问的内容提供者(使用活动):

我想在没有activity对象的情况下执行相同的调用(或者在activity不显式存在的情况下以某种方式重试该活动)

编辑:代码。添加了从中继承的类
您可以使用
Android.App.Application.Context
检索
上下文
,以提供
游标加载程序
构造函数

例如:

Android.Content.Context context = Android.App.Application.Context;

// ...

var cr = new CursorLoader(context, uri, projection, null, null, null);

“Android.Content.Context”在从Service或BroadcastReceiver继承的类中不可用,好的。你能把你的问题编辑成包含包装那个调用的类吗。在这种特殊情况下,我是从广播接收器继承的。如果我可以从服务访问contentresolver也可以(服务正在注册_接收方)。是否可以在活动中以某种方式分配“游标”对象并在整个应用程序中使用它(而不是作为全局变量)?如何调用
AccessCallLog
?文档中说你在BroadcastReceiver的
OnReceive
方法中接收到一个上下文。德语中有句谚语:“有时你看不到森林,因为所有的树都长了”:。我几乎没有在应用程序环境中搜索上下文,因此错过了OnReceive:)中的参数。我仍然无法读取调用日志(我假设这是另一个问题-我设置了读取调用日志的权限),但我已经用联系人Uri尝试过了,效果很好。再次感谢
Android.Content.Context context = Android.App.Application.Context;

// ...

var cr = new CursorLoader(context, uri, projection, null, null, null);