delphi XE Android四大组件ContentProvider:delphi XE可调用的Android ContentProvider有哪些?
一、delphi XE用Android SDK方法开发App(二)
运用Android四大组件之ContentProvider
unit Androidapi.JNI.Provider;
interface
uses
Androidapi.JNIBridge,
Androidapi.JNI.Accounts,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.JavaTypes,
Androidapi.JNI.Net,
Androidapi.JNI.Os,
Androidapi.JNI.Telephony,
Androidapi.JNI.Util,
Androidapi.JNI.Webkit;
type
// 向前定义delphi可支持的Android四大组件之ContentProvider内容提供者:===== Forward declarations =====
//:安卓官方:你得翻墙或使用香港或境外云服务器访问:https://developer.android.com/reference/package-summary 下Classes
//:国内镜像服务:https://www.android-doc.com/reference/android/provider/package-summary.html 下Classes
//:以下为 delphi实现的Android ContentProvider类的接口:
JAlarmClock = interface;//android.provider.AlarmClock AlarmClock提供程序包含一个Intent操作和其他可用于启动活动的活动(比如:可以通过startActivity的形式),以在闹钟应用程序中设置新的闹钟或计时器。
JBaseColumns = interface;//android.provider.BaseColumns delphi用于获取android.provider中的BaseColumns列表个数和ID的内部接口,实际开发时只用于 做接口是否正确的检测
JBlockedNumberContract = interface;//android.provider.BlockedNumberContract delphi用于手机持有者授权验证与阻塞内容提供的协议的内部接口,查询手机号是否阻塞、授权的URI等
JBlockedNumberContract_BlockedNumbers = interface;//android.provider.BlockedNumberContract$BlockedNumbers delphi用于查询手机持有者阻塞了哪些内容提供的协议的内部接口,查询阻塞内容CONTENT_URI、COLUMN_ID、CONTENT_TYPE等
JBrowser = interface;//android.provider.Browser 提供手机内置浏览器的搜索内容:初始化浏览器、初始化浏览器内的内容显示放大级别、添加搜索的URI(addSearchUrl)、设置搜寻字段数组(SEARCHES_PROJECTION)、搜索历史、获取搜索书签的URI(BOOKMARKS_URI)等,提供了内容接收器传入参数JContentResolver:所有均只读
JBrowser_BookmarkColumns = interface;//android.provider.Browser$BookmarkColumns 提供手机内置浏览器的搜索书签的列表查询:混合书签和历史记录项目的列定义可在访问BOOKMARKS_URI
(init、CREATED、DATE、FAVICON、TITLE、URL、VISITS):所有均只读
JBrowser_SearchColumns = interface;//android.provider.Browser$SearchColumns 提供手机内置浏览器的搜索内容的列表查询:搜索历史记录表的列定义,位于SEARCHES_URI
(init、DATE、SEARCH、URL):所有均只读
JCalendarContract = interface;//android.provider.CalendarContract 提供手机内置日历提供程序和应用程序之间的协议查询:日历协议的授权与本地账户类型(AUTHORITY、ACCOUNT_TYPE_LOCAL)、日历内容的URI(CONTENT_URI)、Activity的ACTION操作事件查询等
JCalendarContract_Attendees = interface;//android.provider.CalendarContract$Attendees 提供手机内置日历的内容呈现:提供了内容接收器传入参数JContentResolver、提供了内容查询query函数并返回结果游标JCursor、提供查询此内容的URI(CONTENT_URI)
JCalendarContract_CalendarAlerts = interface;//android.provider.CalendarContract$CalendarAlerts 提供手机内置日历手机持有者设置的提醒的查询(CONTENT_URI、CONTENT_URI_BY_INSTANCE)
JCalendarContract_CalendarCache = interface;//android.provider.CalendarContract$CalendarCache 提供手机内置日历缓存内容查询(URI、时区等)
JCalendarContract_CalendarEntity = interface;//android.provider.CalendarContract$CalendarEntity 提供手机内置日历的实体迭代(重置或关闭日历实体:CONTENT_URI、newEntityIterator(带游标参数))
JCalendarContract_Calendars = interface;//android.provider.CalendarContract$Calendars 提供手机内置日历的查询(日历表的常量和辅助程序如日程表,其中包含各个日程的详细信息。)
JCalendarContract_Colors = interface;//android.provider.CalendarContract$Colors 提供手机内置日历用于访问给定帐户可用颜色的字段的查询(delphi只实现了内容提供者URI的查询:CONTENT_URI)
JCalendarContract_EventDays = interface;//android.provider.CalendarContract$EventDays 提供手机内置日历某段时间的日程查询:提供了内容接收器传入参数JContentResolver、提供了内容查询query函数并返回结果游标JCursor
JCalendarContract_Events = interface;//android.provider.CalendarContract$Events 提供手机内置日历的事件查询(delphi只实现了内容的URI、内容异常的URI:CONTENT_EXCEPTION_URI的查询)
JCalendarContract_EventsEntity = interface;//android.provider.CalendarContract$EventsEntity 提供手机内置日历的事件实体的迭代:提供了游标JCursor、内容接收器传入参数JContentResolver或内容提供者客户端参数JContentProviderClient,可用于JCalendarContract_EventDays的迭代:(newEntityIterator、CONTENT_URI)
JCalendarContract_ExtendedProperties = interface;//android.provider.CalendarContract$ExtendedProperties 提供手机内置日历的扩展属性接口的URI查询
JCalendarContract_Instances = interface;//android.provider.CalendarContract$Instances 提供手机内置日历与实例进行交互的字段和助手,提供查询:提供了内容接收器传入参数JContentResolver、提供了内容查询query函数并返回结果游标JCursor(可按天、时段、结束的分钟、事件ID等进行查询)
JCalendarContract_Reminders = interface;//android.provider.CalendarContract$Reminders 提供手机内置日历用于访问事件提醒的字段和助手:提供了内容接收器传入参数JContentResolver、提供了内容查询query函数并返回结果游标JCursor(可按事件ID和projection查询参数进行查询)
JCalendarContract_SyncState = interface;//android.provider.CalendarContract$SyncState 提供手机内置日历为同步适配器提供的表,用于存储私有同步状态数据(delphi只实现了内容提供者URI的查询:CONTENT_URI)
JCallLog = interface;//android.provider.CallLog 提供手机的应用程序包含的有关已拨和已接电话的日志信息(init、授权AUTHORITY的查询、CONTENT_URI)
JCallLog_Calls = interface;//android.provider.CallLog$Calls 提供手机的应用程序包含的有关最近的呼叫(呼入和呼出)信息:人的姓名、时间、持续的时间、语音的类型、是否已阅、呼叫号码、地理编码的位置、拒接、手机账号等信息
JContacts = interface;//android.provider.Contacts 提供手机联系人(此类已在API级别5中弃用。API已由取代ContactsContract
。较新的API允许访问多个帐户并支持类似联系人的汇总。这些API可以继续使用,但只会返回创建的第一个Google帐户的数据,该数据与原始行为匹配。 )
JContacts_ContactMethods = interface;//android.provider.Contacts$ContactMethods 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_ContactMethodsColumns = interface;//android.provider.Contacts$ContactMethodsColumns 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_Extensions = interface;//android.provider.Contacts$Extensions 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_ExtensionsColumns = interface;//android.provider.Contacts$ExtensionsColumns 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_GroupMembership = interface;//android.provider.Contacts$GroupMembership 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_Groups = interface;//android.provider.Contacts$Groups 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_GroupsColumns = interface;//android.provider.Contacts$GroupsColumns 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_Intents = interface;//android.provider.Contacts$Intents 此类已在API级别5中弃用。请参见 ContactsContract
JIntents_Insert = interface;//android.provider.Contacts$Intents$Insert 此类已在API级别5中弃用。请参见 ContactsContract
JIntents_UI = interface;//android.provider.Contacts$Intents$UI 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_OrganizationColumns = interface;//android.provider.Contacts$OrganizationColumns 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_Organizations = interface;//android.provider.Contacts$Organizations 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_People = interface;//android.provider.Contacts$People 此类已在API级别5中弃用。请参见 ContactsContract
JPeople_ContactMethods = interface;//android.provider.Contacts$People$ContactMethods 此类已在API级别5中弃用。请参见 ContactsContract
JPeople_Extensions = interface;//android.provider.Contacts$People$Extensions 此类已在API级别5中弃用。请参见 ContactsContract
JPeople_Phones = interface;//android.provider.Contacts$People$Phones 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_PeopleColumns = interface;//android.provider.Contacts$PeopleColumns 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_Phones = interface;//android.provider.Contacts$Phones 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_PhonesColumns = interface;//android.provider.Contacts$PhonesColumns 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_Photos = interface;//android.provider.Contacts$Photos 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_PhotosColumns = interface;//android.provider.Contacts$PhotosColumns 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_PresenceColumns = interface;//android.provider.Contacts$PresenceColumns 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_Settings = interface;//android.provider.Contacts$Settings 此类已在API级别5中弃用。请参见 ContactsContract
JContacts_SettingsColumns = interface;//android.provider.Contacts$SettingsColumns 此类已在API级别5中弃用。请参见 ContactsContract
JContactsContract = interface;//android.provider.ContactsContract 提供联系人内容提供者与应用程序之间的协议查询(init、isProfileId、AUTHORITY、AUTHORITY_URI、CALLER_IS_SYNCADAPTER、DEFERRED_SNIPPETING、DEFERRED_SNIPPETING_QUERY、LIMIT_PARAM_KEY、PRIMARY_ACCOUNT_NAME、PRIMARY_ACCOUNT_TYPE、REMOVE_DUPLICATE_ENTRIES、STREQUENT_PHONE_ONLY)
JContactsContract_AggregationExceptions = interface;//android.provider.ContactsContract$AggregationExceptions 提供联系人汇总异常内容查询
JContactsContract_CommonDataKinds = interface;//android.provider.ContactsContract$CommonDataKinds 提供手机联系人通用数据类型:只预留接口
JCommonDataKinds_BaseTypes = interface;//android.provider.ContactsContract$CommonDataKinds$BaseTypes 提供通用数据类型的联系人基类的接口:只预留接口
JCommonDataKinds_Callable = interface;//android.provider.ContactsContract$CommonDataKinds$Callable 提供可被调用的通用数据类型的联系人内容的URI的查询(init、CONTENT_URI、CONTENT_FILTER_URI、ENTERPRISE_CONTENT_FILTER_URI)
JCommonDataKinds_Contactables = interface;//android.provider.ContactsContract$CommonDataKinds$Contactables 提供可看到的(?是加入黑名单的不可见的意思吗?)联系人的通用数据类型的联系人内容的URI的查询(init、CONTENT_URI、CONTENT_FILTER_URI、VISIBLE_CONTACTS_ONLY)
比如:关联人 -下级内容:
具体实现和提供可见的具体内容。取决于不同手机厂商,但后台表结构均有Android统一设定:
JCommonDataKinds_Email = interface;//android.provider.ContactsContract$CommonDataKinds$Email 提供通用数据类型:联系人电子邮件的类方法的内容查询
JCommonDataKinds_Event = interface;//android.provider.ContactsContract$CommonDataKinds$Event 提供通用的联系人表示事件的数据类型的内容
JCommonDataKinds_GroupMembership = interface;//android.provider.ContactsContract$CommonDataKinds$GroupMembership 提供通用的联系人组成员身份的内容
JCommonDataKinds_Identity = interface;//android.provider.ContactsContract$CommonDataKinds$Identity 提供通用的表示与联系人相关的身份的数据类型的内容
JCommonDataKinds_Im = interface;//android.provider.ContactsContract$CommonDataKinds$Im 提供通用代表IM地址的数据类型的内容,您可以使用ContactsContract.Data
定义的所有列以及以下别名:
JCommonDataKinds_Nickname = interface;//android.provider.ContactsContract$CommonDataKinds$Nickname 别名1:代表联系人昵称的数据类型
JCommonDataKinds_Note = interface;//android.provider.ContactsContract$CommonDataKinds$Note 别名2:有关联系人的说明
JCommonDataKinds_Organization = interface;//android.provider.ContactsContract$CommonDataKinds$Organization别名3:代表组织的数据类型
JCommonDataKinds_Phone = interface;//android.provider.ContactsContract$CommonDataKinds$Phone别名4:代表电话号码的数据类型
JCommonDataKinds_Photo = interface;//android.provider.ContactsContract$CommonDataKinds$Photo别名5:代表联系人照片的数据类型
JCommonDataKinds_Relation = interface;//android.provider.ContactsContract$CommonDataKinds$Relation别名6:代表与联系人关系的数据类型
JCommonDataKinds_SipAddress = interface;//android.provider.ContactsContract$CommonDataKinds$SipAddress别名7:表示联系人的SIP(无SIM卡的网络电话)地址的数据类型
JCommonDataKinds_StructuredName = interface;//android.provider.ContactsContract$CommonDataKinds$StructuredName别名8:代表联系人专有名称的数据类型
JCommonDataKinds_StructuredPostal = interface;//android.provider.ContactsContract$CommonDataKinds$StructuredPostal别名9:代表邮政地址的数据类型
JCommonDataKinds_Website = interface;//android.provider.ContactsContract$CommonDataKinds$Website别名10:表示与联系人相关的网站的数据类型
JContactsContract_Contacts = interface;//android.provider.ContactsContract$Contacts 提供联系人表的常数,其中包含代表同一个人的每组原始联系人的记录
JContacts_AggregationSuggestions = interface;//android.provider.ContactsContract$Contacts$AggregationSuggestions 提供单个联系人聚合 的只读子目录,其中包含所有聚合建议(其他联系人)
JAggregationSuggestions_Builder = interface;//android.provider.ContactsContract$Contacts$AggregationSuggestions$Builder 提供单个联系人及其聚合建议(其他联系人)的创建器,包含:
JContacts_Data = interface;//android.provider.ContactsContract$Contacts$Data 提供单个联系人的数据表的常量,其中包含绑定到原始联系人的内容目录
JContacts_Entity = interface;//android.provider.ContactsContract$Contacts$Entity 提供单个联系人的子目录,包含其所有 ContactsContract.RawContacts
以及 ContactsContract.Data
行
JContacts_Photo = interface;//android.provider.ContactsContract$Contacts$Photo 提供单个联系人的只读子目录,其中包含该联系人的主要照片
JContactsContract_Data = interface;//android.provider.ContactsContract$Data 提供单个联系人的只读子目录,其中包含该联系人的主要数据
JContactsContract_DataUsageFeedback = interface;//android.provider.ContactsContract$DataUsageFeedback API允许应用程序将每一ContactsContract.Contacts.Data
行的使用情况信息反馈给联系人提供程序
JContactsContract_DeletedContacts = interface;//android.provider.ContactsContract$DeletedContacts 删除的联系人表的常量
JContactsContract_Directory = interface;//android.provider.ContactsContract$Directory 代表联系人目录等等
JContactsContract_DisplayNameSources = interface;//android.provider.ContactsContract$DisplayNameSources 代表联系人显示名的字段编号:(EMAIL、NICKNAME、ORGANIZATION、PHONE、STRUCTURED_NAME、STRUCTURED_PHONETIC_NAME、UNDEFINED)
JContactsContract_DisplayPhoto = interface;//android.provider.ContactsContract$DisplayPhoto 通过照片文件的ID访问全尺寸照片的Helper类:提供了URI、尺寸信息和缩略图的URI
JContactsContract_FullNameStyle = interface;//android.provider.ContactsContract$FullNameStyle 提供单个联系人的国别信息的编号查询
JContactsContract_Groups = interface;//android.provider.ContactsContract$Groups 提供联系人组的表的查询(以新的实体迭代返回传入的游标结果)
JContactsContract_Intents = interface;//android.provider.ContactsContract$Intents 提供手机内置联系人应用程序的Intents企图类的类方法和类属性的命名查询:(包含:初始化、以语音方式发送给联系人的字符串内容、附件图片的路径字符串、联系人数据库产生语句的字符串内容、提取关联人信息、邀请联系人的Intent企图、元数据类型和MIMETYPE、搜寻建议、显示或创建联系人等)
JContactsContract_Intents_Insert = interface;//android.provider.ContactsContract$Intents$Insert 提供手机内置联系人应用程序的Intents企图插入联系人的内容的类属性的命名:(即单个联系人表的字段名查询)
JContactsContract_PhoneLookup = interface;//android.provider.ContactsContract$PhoneLookup 提供手机SIP(无SIM卡的网络电话)地址
JContactsContract_PhoneticNameStyle = interface;//android.provider.ContactsContract$PhoneticNameStyle 提供手机电话的语音国别编码
JContactsContract_PinnedPositions = interface;//android.provider.ContactsContract$PinnedPositions 提供用传入JContentResolver内容接收器以手机账户ID查询固定PIN码
JContactsContract_StatusUpdates = interface;//android.provider.ContactsContract$StatusUpdates 提供查询联系人状态更新(联系人的ICON头像资源ID、优先级、子类信息、联系人内容的类别等)的状态码整数
JContactsContract_Presence = interface;//android.provider.ContactsContract$Presence 与JContactsContract_StatusUpdates 相关的子类
JContactsContract_Profile = interface;//android.provider.ContactsContract$Profile 提供用户手机个人资料的配置数据常量,代表用户的手机设备上的关于单个联系人的一些概要配置数据:(包括VCARD(电子名片的文件格式标准)的URI、原始内容的URI、内容的URI、MIN_ID最小的ID号)
JContactsContract_ProfileSyncState = interface;//android.provider.ContactsContract$ProfileSyncState 提供给同步适配器的表,用于存储用户个人配置文件的私有同步状态数据
JContactsContract_ProviderStatus = interface;//android.provider.ContactsContract$ProviderStatus 提供内置手机联系人应用程序的状态信息:(包括:状态是否忙、状态是否正常、状态是否空闲的整数;状态字符串、内容类型字符串、入口内容的URI、数据库产生的时间截字符串)
JContactsContract_QuickContact = interface;//android.provider.ContactsContract$QuickContact 提供手机联内置手机联系人应用程序的联系人的便捷方式的设置方法 :(提供初始化方法;传入:JContext上下文环境、JView或JRect、mode模式和excludeMimes排斥的Mimes类型数组参数用以执行便捷方式方法;提取优先级别的Mimes类型字符串)
JContactsContract_RawContacts = interface;//android.provider.ContactsContract$RawContacts 提供原始联系人表的常数,其中包含每个同步帐户中每个人的一行联系信息的方式的查询机制(提供JContentResolver内容接收器、rawContactUri和JCursor新实体迭代游标),具体下级内容如下:
JRawContacts_Data = interface;//android.provider.ContactsContract$RawContacts$Data 包含所有ContactsContract.Data
行的单个原始联系人的子目录
JRawContacts_DisplayPhoto = interface;//android.provider.ContactsContract$RawContacts$DisplayPhoto 单个原始联系人的子目录,代表其主要显示照片
JRawContacts_Entity = interface;//android.provider.ContactsContract$RawContacts$Entity 含所有ContactsContract.Data
行的单个原始联系人的子目录
JContactsContract_RawContactsEntity = interface;//android.provider.ContactsContract$RawContactsEntity
JContactsContract_SearchSnippets = interface;//android.provider.ContactsContract$SearchSnippets
JContactsContract_Settings = interface;//android.provider.ContactsContract$Settings 各种联系人的特定设置Account账户
JContactsContract_SyncState = interface;//android.provider.ContactsContract$SyncState 为同步适配器提供的表,用于存储联系人的专用同步状态数据
-----------------------:以上:关于联系人提供者:结束----------------------------
JDocumentsContract = interface;//android.provider.DocumentsContract 文档提供者:定义文档提供者和平台之间的协议
JDocumentsContract_Document = interface;//android.provider.DocumentsContract$Document 文档提供者:提供与文档相关的常量,包括Cursor数据表游标
列名和标志
JDocumentsContract_Path = interface;//android.provider.DocumentsContract$Path 文档提供者:提供与文档相关的路径:路径从表
JDocumentsContract_Root = interface;//android.provider.DocumentsContract$Root 文档提供者:提供与文档相关的常量,包括Cursor数据表游标
列名和标志:根目录主表
JDocumentsProvider = interface;//android.provider.DocumentsProvider 文档提供者的基类
-----------------------:以上:关于文档提供者:结束----------------------------
JFontRequest = interface;//android.provider.FontRequest 字体请求的提供者
JFontsContract = interface;//android.provider.FontsContract 字体请求的提供者: 字体请求的提供者与平台之间的协议
JFontsContract_Columns = interface;//android.provider.FontsContract$Columns 字体请求的提供者: 字体请求的提供者与平台之间的协议:列名列表
JFontsContract_FontFamilyResult = interface;//android.provider.FontsContract$FontFamilyResult 字体请求的提供者: 字体请求的提供者与平台之间的协议:请求的字体结果
JFontsContract_FontInfo = interface;//android.provider.FontsContract$FontInfo 字体请求的提供者: 字体请求的提供者与平台之间的协议:请求的字体信息
JFontsContract_FontRequestCallback = interface;//android.provider.FontsContract$FontRequestCallback字体请求的提供者: 字体请求的提供者与平台之间的协议:字体请求事件回调
-----------------------:以上:关于字体请求提供者:结束----------------------------
JLiveFolders = interface;//android.provider.LiveFolders 此类已在API级别14中弃用。Android不再支持活动文件夹。这些已由中 AppWidget Collection API 引入的新 HONEYCOMB所
取代。这些提供了活动文件夹的所有功能以及更多其他功能。不建议使用活动文件夹,因为它们会引入安全性问题-发布活动文件夹需要将活动文件夹的所有数据显示给所有应用程序,且无权限对其进行保护
JMediaStore = interface;//android.provider.MediaStore 媒体提供程序:提供包含内部和外部存储设备上所有可用媒体的元数据
JMediaStore_Audio = interface;//android.provider.MediaStore$Audio
JAudio_AlbumColumns = interface;//android.provider.MediaStore$Audio$AlbumColumns
JAudio_Albums = interface;//android.provider.MediaStore$Audio$Albums
JAudio_ArtistColumns = interface;//android.provider.MediaStore$Audio$ArtistColumns
JAudio_Artists = interface;//android.provider.MediaStore$Audio$Artists
JArtists_Albums = interface;//android.provider.MediaStore$Audio$Artists$Albums
JMediaStore_MediaColumns = interface;//android.provider.MediaStore$MediaColumns
JAudio_AudioColumns = interface;//android.provider.MediaStore$Audio$AudioColumns
JAudio_Genres = interface;//android.provider.MediaStore$Audio$Genres
JGenres_Members = interface;//android.provider.MediaStore$Audio$Genres$Members
JAudio_GenresColumns = interface;//android.provider.MediaStore$Audio$GenresColumns
JAudio_Media = interface;//android.provider.MediaStore$Audio$Media
JAudio_Playlists = interface;//android.provider.MediaStore$Audio$Playlists
JPlaylists_Members = interface;//android.provider.MediaStore$Audio$Playlists$Members
JAudio_PlaylistsColumns = interface;//android.provider.MediaStore$Audio$PlaylistsColumns
JAudio_Radio = interface;//android.provider.MediaStore$Audio$Radio
JMediaStore_Files = interface;//android.provider.MediaStore$Files
-------------------------------------------------:媒体(音频)---------------
JFiles_FileColumns = interface;//android.provider.MediaStore$Files$FileColumns
-------------------------------------------------:媒体(文件)---------------
JMediaStore_Images = interface;//android.provider.MediaStore$Images
JImages_ImageColumns = interface;//android.provider.MediaStore$Images$ImageColumns
JImages_Media = interface;//android.provider.MediaStore$Images$Media
JImages_Thumbnails = interface;//android.provider.MediaStore$Images$Thumbnails
-------------------------------------------------:媒体(图片及其缩略图)---------------
JMediaStore_Video = interface;//android.provider.MediaStore$Video
JVideo_Media = interface;//android.provider.MediaStore$Video$Media
JVideo_Thumbnails = interface;//android.provider.MediaStore$Video$Thumbnails
JVideo_VideoColumns = interface;//android.provider.MediaStore$Video$VideoColumns
-------------------------------------------------:媒体(视频及其缩略图)---------------
JOpenableColumns = interface;//android.provider.OpenableColumns
-------------------------------------------------:手机内容能够被打开的提供者列表---------------
JSearchRecentSuggestions = interface;//android.provider.SearchRecentSuggestions
-------------------------------------------------:手机内容最近搜索内容建议的提供者列表---------------
-----------------------:以上:关于媒体内容提供程序:结束----------------------------
JSettings = interface;//android.provider.Settings
JSettings_NameValueTable = interface;//android.provider.Settings$NameValueTable
JSettings_Global = interface;//android.provider.Settings$Global
JSettings_Secure = interface;//android.provider.Settings$Secure
JSettings_SettingNotFoundException = interface;//android.provider.Settings$SettingNotFoundException
JSettings_System = interface;//android.provider.Settings$System
-----------------------:以上:关于手机【设置】提供程序:结束----------------------------
JSyncStateContract = interface;//android.provider.SyncStateContract
JSyncStateContract_Columns = interface;//android.provider.SyncStateContract$Columns
JSyncStateContract_Constants = interface;//android.provider.SyncStateContract$Constants
JSyncStateContract_Helpers = interface;//android.provider.SyncStateContract$Helpers
-----------------------:以上:关于手机【同步】状态协议提供程序:结束----------------------------
JTelephony = interface;//android.provider.Telephony --------电话内容提供者基类
JTelephony_BaseMmsColumns = interface;//android.provider.Telephony$BaseMmsColumns --基本的多媒体短信服务列名
JTelephony_CanonicalAddressesColumns = interface;//android.provider.Telephony$CanonicalAddressesColumns --规范地址
JTelephony_Carriers = interface;//android.provider.Telephony$Carriers -------电话运营商的信息提供者
JTelephony_Mms = interface;//android.provider.Telephony$Mms
JMms_Addr = interface;//android.provider.Telephony$Mms$Addr
JMms_Draft = interface;//android.provider.Telephony$Mms$Draft
JMms_Inbox = interface;//android.provider.Telephony$Mms$Inbox
JMms_Intents = interface;//android.provider.Telephony$Mms$Intents
JMms_Outbox = interface;//android.provider.Telephony$Mms$Outbox
JMms_Part = interface;//android.provider.Telephony$Mms$Part
JMms_Rate = interface;//android.provider.Telephony$Mms$Rate
JMms_Sent = interface;//android.provider.Telephony$Mms$Sent
JTelephony_MmsSms = interface;//android.provider.Telephony$MmsSms
JMmsSms_PendingMessages = interface;//android.provider.Telephony$MmsSms$PendingMessages
--------------------------------:MMS(Multimedia Messaging Service)多媒体短信服务内容提供者-------------
JTelephony_ServiceStateTable = interface;//android.provider.Telephony$ServiceStateTable --电话服务状态内容提供者
JTelephony_Sms = interface;//android.provider.Telephony$Sms
JSms_Conversations = interface;//android.provider.Telephony$Sms$Conversations
JSms_Draft = interface;//android.provider.Telephony$Sms$Draft
JSms_Inbox = interface;//android.provider.Telephony$Sms$Inbox
JSms_Intents = interface;//android.provider.Telephony$Sms$Intents
JSms_Outbox = interface;//android.provider.Telephony$Sms$Outbox
JSms_Sent = interface;//android.provider.Telephony$Sms$Sent
JTelephony_TextBasedSmsColumns = interface;//android.provider.Telephony$TextBasedSmsColumns
--------------------------------:电话短信内容提供者-------------
JTelephony_Threads = interface;//android.provider.Telephony$Threads --电话内容提供者--线程信息
JTelephony_ThreadsColumns = interface;//android.provider.Telephony$ThreadsColumns --电话内容提供者--线程信息列表
-----------------------:以上:关于手机电话相关内容提供程序:结束----------------------------
JUserDictionary = interface;//android.provider.UserDictionary
JUserDictionary_Words = interface;//android.provider.UserDictionary$Words
-----------------------:以上:关于手机的用户目录提供程序:结束----------------------------
JVoicemailContract = interface;//android.provider.VoicemailContract
JVoicemailContract_Status = interface;//android.provider.VoicemailContract$Status
JVoicemailContract_Voicemails = interface;//android.provider.VoicemailContract$Voicemails
-----------------------:以上:关于语音邮件提供程序:结束----------------------------
二、关于文件的提供者
1、unit Androidapi.Helpers;
class function TAndroidHelper.JFileToJURI(const AFile: JFile): Jnet_Uri;
var
LAuthority: JString;
begin
// If running on Android Nougat (7.0) or later, use a file provider to turn the file into a URI.
// This relies on enabling the Secure File Sharing entitlement in order to get the file provider.
if TOSVersion.Check(7) then
begin
LAuthority := Context.getApplicationContext.getPackageName.concat(StringToJString('.fileprovider'));
Result := TJFileProvider.JavaClass.getUriForFile(Context, LAuthority, AFile);
end
else
Result := TJnet_uri.JavaClass.fromFile(AFile);
end;
Secure File Sharing entitlement : 需要在 AndroidManifest.template.xml 或 AndroidManifest.xml中进行设置:
2、unit Androidapi.JNI.Support;
JFileProviderClass = interface(JContentProviderClass)
['{33A87969-5731-4791-90F6-3AD22F2BB822}']
{class} function init: JFileProvider; cdecl;
{class} function getUriForFile(context: JContext; authority: JString; file_: JFile): Jnet_Uri; cdecl;
end;
TJFileProvider = class(TJavaGenericImport<JFileProviderClass, JFileProvider>) end;
续:delphi XE关于Android四大组件之ContentProvider内容提供者:案例delphi XE加载Android手机图片的效率 :
https://blog.csdn.net/pulledup/article/details/105642380
喜欢的话,就在下面点个赞、收藏就好了,方便看下次的分享: