在android中查询来自现有内容提供商的不同记录

在android中查询来自现有内容提供商的不同记录,android,android-contentprovider,Android,Android Contentprovider,我想从内容提供商那里得到不同的记录 我当前的代码: String[] projection= {"_id","address"}; Cursor address = getContentResolver().query(android.provider.Telephony.Sms.Inbox.CONTENT_URI,projection, null, null,"address ASC"); 您可以在投影中的列名中添加不同的关键字。e、 g String[] projection= {"DI

我想从内容提供商那里得到不同的记录

我当前的代码:

String[] projection= {"_id","address"};
Cursor address =  getContentResolver().query(android.provider.Telephony.Sms.Inbox.CONTENT_URI,projection, null, null,"address ASC");

您可以在投影中的列名中添加不同的关键字。e、 g

String[] projection= {"DISTINCT _id"};

希望这将对您有所帮助。

//在列名称之前使用DISTINCT

String[] projection= { "DISTINCT _id", "DISTINCT address"};

Cursor address =  getContentResolver().query(android.provider.Telephony.Sms.Inbox.CONTENT_URI,projection, null, null,"address ASC");

这是不受支持的。如果您实现自己的ContentProvider,则欢迎您公开将返回不同结果的特定Uri模式。但是,ContentProvider的使用者不能强制要求ContentProvider实现支持DISTINCT。这不适用于内容提供商。抛出错误,表示java.lang.IllegalArgumentException:Invalid column DISTINCT _idf对于我,在中未检测到错误标记,GROUP BY也未检测到此错误。它给出以下错误消息java.lang.IllegalArgumentException:Invalid column DISTINCT