delphi XE Android四大组件ContentProvider:delphi XE可调用的Android ContentProvider有哪些?_delphi 调用安卓接口-程序员宅基地

技术标签: 安卓  java  android  前端  delphi App开发  移动开发  Android  

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

喜欢的话,就在下面点个赞、收藏就好了,方便看下次的分享:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/pulledup/article/details/105699037

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签