未定义getContentResolver()

时间:2017-03-02 20:46:38

标签: c# android xamarin xamarin.android

我想创建一个小应用来解析短信。我使用Visual Studio和Xamarin。 我发现这些代码的和平,并希望适应我的需要。 但是没有定义getContentResolver()方法。我知道,它需要应用程序上下文,但我不明白如何获得它。

有人可以给我一个例子吗?

// Create Sent box URI
Uri sentURI = Uri.parse("content://sms/sent");

// List required columns
String[] reqCols = new String[] { "_id", "address", "body" };

// Get Content Resolver object, which will deal with Content Provider
ContentResolver cr = getContentResolver();

// Fetch Sent SMS Message from Built-in Content Provider
Cursor c = cr.query(sentURI, reqCols, null, null, null);

1 个答案:

答案 0 :(得分:1)

在Java世界中,您会看到setContentResolverContentResolver等方法。在Xamarin和C#中,这两个将合并为一个名为// Fetch Sent SMS Message from Built-in Content Provider Cursor c = ContentResolver.Query(sentURI, reqCols, null, null, null); 的属性。代码的后半部分应该是这样的:

Uri sentURI = Uri.Parse("content://sms/sent");

将Java代码移植到C#(Xamarin)时,通常可以通过大写方法名称来获得基本的工作。有了这个逻辑,你还应该修改第一行:

var myid = chrome.runtime.id;

然而,这是一个非常简化的例子。了解Java和C#以及如何使用AndroidXamarin文档将会带您走得很远。