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

智能推荐

攻防世界_难度8_happy_puzzle_攻防世界困难模式攻略图文-程序员宅基地

文章浏览阅读645次。这个肯定是末尾的IDAT了,因为IDAT必须要满了才会开始一下个IDAT,这个明显就是末尾的IDAT了。,对应下面的create_head()代码。,对应下面的create_tail()代码。不要考虑爆破,我已经试了一下,太多情况了。题目来源:UNCTF。_攻防世界困难模式攻略图文

达梦数据库的导出(备份)、导入_达梦数据库导入导出-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作  导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释:   cwy_init/init_123..._达梦数据库导入导出

js引入kindeditor富文本编辑器的使用_kindeditor.js-程序员宅基地

文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6

计算机网络-数据链路层_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输

软件测试工程师移民加拿大_无证移民,未受过软件工程师的教育(第1部分)-程序员宅基地

文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...

随便推点

Thinkpad X250 secure boot failed 启动失败问题解决_安装完系统提示secureboot failure-程序员宅基地

文章浏览阅读304次。Thinkpad X250笔记本电脑,装的是FreeBSD,进入BIOS修改虚拟化配置(其后可能是误设置了安全开机),保存退出后系统无法启动,显示:secure boot failed ,把自己惊出一身冷汗,因为这台笔记本刚好还没开始做备份.....根据错误提示,到bios里面去找相关配置,在Security里面找到了Secure Boot选项,发现果然被设置为Enabled,将其修改为Disabled ,再开机,终于正常启动了。_安装完系统提示secureboot failure

C++如何做字符串分割(5种方法)_c++ 字符串分割-程序员宅基地

文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割

2013第四届蓝桥杯 C/C++本科A组 真题答案解析_2013年第四届c a组蓝桥杯省赛真题解答-程序员宅基地

文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答

基于供需算法优化的核极限学习机(KELM)分类算法-程序员宅基地

文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。

metasploitable2渗透测试_metasploitable2怎么进入-程序员宅基地

文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入

Python学习之路:从入门到精通的指南_python人工智能开发从入门到精通pdf-程序员宅基地

文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf

推荐文章

热门文章

相关标签