隐私政策
导言
影酷 是一款由 杨冬 (以下简称“我们”)提供的产品。 您在使用我们的服务时,我们可能会收集和使用您的相关信息。我们希望通过本《隐私政策》向您说明,在使用我们的服务时,我们如何收集、使用、储存和分享这些信息,以及我们为您提供的访问、更新、控制和保护这些信息的方式。 本《隐私政策》与您所使用的 影酷 服务息息相关,希望您仔细阅读,在需要时,按照本《隐私政策》的指引,作出您认为适当的选择。本《隐私政策》中涉及的相关技术词汇,我们尽量以简明扼要的表述,并提供进一步说明的链接,以便您的理解。
您使用或继续使用我们的服务,即意味着同意我们按照本《隐私政策》收集、使用、储存和分享您的相关信息。
如对本《隐私政策》或相关事宜有任何问题,请通过 347156807@qq.com 与我们联系。
1. 我们收集的信息
我们或我们的第三方合作伙伴提供服务时,可能会收集、储存和使用下列与您有关的信息。如果您不提供相关信息,可能无法注册成为我们的用户或无法享受我们提供的某些服务,或者无法达到相关服务拟达到的效果。
APP 所使用的 SDK / 第三方 API / 服务
| SDK名称 | 第三方名称 | 使用目的 | 隐私政策链接 |
|---|---|---|---|
| Firebase Crashlytics / Firebase Analytics | Google LLC | 应用稳定性分析、崩溃排查、统计能力接入;当前清单中 firebase_analytics_collection_enabled=false、firebase_crashlytics_collection_enabled=false 关闭默认采集 |
https://firebase.google.com/support/privacy |
| MMKV | 深圳市腾讯计算机系统有限公司 | 存储和读取应用内配置、本地缓存、播放/媒体源相关偏好数据 | https://support.weixin.qq.com/cgi-bin/mmsupportacctnodeweb-bin/pages/aY5BAtRiO1BpoHxo |
| PictureSelector | LuckSiege 开源项目 / 当前项目二次发布包 com.yangdong.PictureSelector |
本地图片、视频、音频选择、预览和投屏入口 | https://github.com/LuckSiege/PictureSelector |
| AndroidX Media3 / ExoPlayer | Google LLC / Android Open Source Project | 本地和网络音视频播放,支持 HLS、DASH、SmoothStreaming、RTSP、RTMP 等媒体源 | https://github.com/androidx/media |
| FFmpeg 解码库封装 | FFmpeg 开源项目 / 项目私有封装 me.mrdong.decoder |
扩展播放器音视频解码能力 | https://ffmpeg.org/ |
| Glide | BumpTech | 加载、预览、缓存海报、头像、图片和媒体封面 | http://bumptech.github.io/glide/ |
| Glide Transformations | wasabeef | 图片圆角、模糊、变换等视觉处理 | https://github.com/wasabeef/glide-transformations |
| OkHttp | Square, Inc. | 网络请求、远程媒体服务器访问、云盘/字幕/刮削接口访问 | https://square.github.io/okhttp/ |
| Retrofit | Square, Inc. | 构建 REST API 请求,用于媒体服务器、云盘、字幕、应用版本等接口 | https://square.github.io/retrofit/ |
| Gson | Google LLC | JSON 数据解析,用于接口响应、配置和媒体信息解析 | https://github.com/google/gson |
| PersistentCookieJar | Fran Montiel 开源项目 | 持久化 HTTP Cookie,支持登录态和接口访问状态保存 | https://github.com/franmontiel/PersistentCookieJar |
| RetrofitUrlManager | JessYan 开源项目 | 动态切换 Retrofit BaseUrl,用于多服务地址访问 | https://github.com/JessYanCoding/RetrofitUrlManager |
| Room | Google LLC / AndroidX | 本地数据库存储,保存媒体服务器、远程存储、缓存等结构化数据 | https://developer.android.com/jetpack/androidx/releases/room |
| AgentWeb | Justson 开源项目 | WebView 页面加载,用于隐私政策、网页投屏等页面 | https://github.com/Justson/AgentWeb |
| Downloader | Justson 开源项目 | 文件下载能力支持 | https://github.com/Justson/Downloader |
| XXPermissions | getActivity / Hjq 开源项目 | 运行时权限申请与跳转设置页 | https://github.com/getActivity/XXPermissions |
| AndroidUtilCode / utilcodex | Blankj 开源项目 | 通用工具能力,例如 Toast、日志、设备信息、Activity 跳转等 | https://github.com/Blankj/AndroidUtilCode |
| CustomActivityOnCrash | Erez A. 开源项目 | 崩溃后展示自定义错误页,提升异常恢复体验 | https://github.com/Ereza/CustomActivityOnCrash |
| XPopup | li-xiaojun 开源项目 | 弹窗、底部面板、权限中转 Activity 等 UI 能力 | https://github.com/li-xiaojun/XPopup |
| Material Dialogs | Aidan Follestad 开源项目 | 通用对话框、颜色/日期/输入选择器 | https://github.com/afollestad/material-dialogs |
| ImmersionBar | Gyf 开源项目 | 状态栏、导航栏沉浸式适配 | https://github.com/gyf-dev/ImmersionBar |
| BackgroundLibrary | JavaNoober 开源项目 | 使用属性快速实现背景、圆角、描边等 UI 效果 | https://github.com/JavaNoober/BackgroundLibrary |
| BannerViewPager | zhpanvip 开源项目 | 首页轮播图展示 | https://github.com/zhpanvip/BannerViewPager |
| BaseRecyclerViewAdapterHelper | CymChad 开源项目 | 列表 Adapter 封装,支持多类型列表、加载更多等 | https://github.com/CymChad/BaseRecyclerViewAdapterHelper |
| Yanzhenjie RecyclerView | Yanzhenjie 开源项目 | RecyclerView 扩展能力 | https://github.com/yanzhenjie/SwipeRecyclerView |
| LoadSir | KingJA 开源项目 | 页面加载、空态、错误态管理 | https://github.com/KingJA/LoadSir |
| MagicIndicator | Hackware 开源项目 | ViewPager 指示器和 Tab 指示控件 | https://github.com/hackware1993/MagicIndicator |
| CircleImageView | hdodenhof 开源项目 | 圆形头像、封面图控件 | https://github.com/hdodenhof/CircleImageView |
| FlexboxLayout | Google LLC | 标签、分类等自动换行布局 | https://github.com/google/flexbox-layout |
| RetroFile | Zhang Hai 开源项目 | Android 文件选择/文件访问辅助能力 | https://github.com/zhanghai/AndroidRetroFile |
| SMBJ | Hierynomus 开源项目 | SMB 协议访问局域网共享文件 | https://github.com/hierynomus/smbj |
| jcifs-ng | AGNO3 开源项目 | SMB/CIFS 协议兼容支持 | https://github.com/AgNO3/jcifs-ng |
| SSHJ | Hierynomus 开源项目 | SSH/SFTP 远程存储访问 | https://github.com/hierynomus/sshj |
| dcerpc | Rapid7 开源项目 | SMB RPC 相关协议支持 | https://github.com/rapid7/dcerpc |
| dav4jvm | bitfireAT 开源项目 | WebDAV 远程存储访问 | https://github.com/bitfireAT/dav4jvm |
| Apache Commons Net | Apache Software Foundation | FTP 协议访问远程文件 | https://commons.apache.org/proper/commons-net/ |
| chardet4j | Sigpwned 开源项目 | 字幕/文本编码识别,改善字幕加载 | https://github.com/sigpwned/chardet4j |
| Cling | 4th Line / Cling 开源项目 | DLNA/UPnP 设备发现、连接、控制 | http://4thline.org/projects/cling/ |
| Jetty | Eclipse Foundation | 内嵌 HTTP 服务能力,支持 DLNA/本地内容服务 | https://www.eclipse.org/jetty/ |
| NanoHTTPD | NanoHTTPD 开源项目 | 轻量本地 HTTP 服务,支持局域网媒体投屏 | https://nanohttpd.org/ |
APP 所使用的权限
| 权限说明 | 具体权限 | 使用目的 | 具体功能 | 功能路径 | 详细使用理由 |
|---|---|---|---|---|---|
| 网络访问 | android.permission.INTERNET |
访问网络资源、远程服务器、局域网投屏服务和在线 API | 网络媒体播放、远程媒体库、字幕搜索、云盘、DLNA/UPnP 通信、应用版本信息、网页加载 | 首页-本地媒体-网页投屏;首页-媒体库;首页-存储;播放器;字幕搜索 | App 需要连接用户配置的媒体服务器、云盘和字幕服务,也需要加载网络媒体流;没有该权限无法完成核心网络播放、远程媒体库管理和在线字幕/元数据功能。 |
| 网络状态读取 | android.permission.ACCESS_NETWORK_STATE |
判断当前网络是否可用、是否处于 Wi-Fi 等状态 | 网络错误提示、缓存策略、远程媒体连接前置判断、DLNA 搜索前网络判断 | 应用启动;首页-媒体库;首页-存储;首页-本地媒体-投屏 | 播放网络视频、连接远程服务器或搜索局域网投屏设备前,需要判断网络状态,避免无网络时反复请求并给出准确提示。 |
| 修改系统设置 | android.permission.WRITE_SETTINGS |
在播放器特定交互中修改系统自动旋转设置 | 播放器横屏/旋转体验、文件选择或字幕设置页面方向适配 | 播放器-播放页-打开文件/设置/字幕相关入口 | 播放器在横屏播放和进入系统/文件选择页面时需要避免方向状态异常;代码会先检测 Settings.System.canWrite,未授权时跳转系统设置页,由用户单独授权。 |
| 旧版存储读取 | android.permission.READ_EXTERNAL_STORAGE |
Android 12 及以下读取本地媒体文件 | 本地图片、视频、音频选择与播放;播放器媒体库选择 | 首页-本地媒体-图片投屏/视频投屏/音频投屏;播放器-打开文件 | Android 12 及以下没有分类型媒体读取权限,需要通过该权限读取用户主动选择的本地媒体内容。合并清单中带 maxSdkVersion=32。 |
| 图片读取 | android.permission.READ_MEDIA_IMAGES |
Android 13 及以上读取本地图片 | 图片选择、预览、图片投屏 | 首页-本地媒体-图片投屏 | 用户点击图片投屏时,应用需要读取用户设备中的图片列表和选中图片,用于预览或投屏到 DLNA 设备。 |
| 视频读取 | android.permission.READ_MEDIA_VIDEO |
Android 13 及以上读取本地视频 | 视频选择、预览、播放、投屏;播放器 MediaStore 视频选择 | 首页-本地媒体-视频投屏;播放器-打开文件 | 用户选择本地视频播放或投屏时,应用需要读取视频文件信息和内容 URI,用于播放器加载或传递给投屏服务。 |
| 音频读取 | android.permission.READ_MEDIA_AUDIO |
Android 13 及以上读取本地音频 | 音频选择、播放、投屏 | 首页-本地媒体-音频投屏 | 用户选择本地音频进行播放或投屏时,应用需要读取音频文件列表和选中文件。 |
| 部分媒体访问兼容 | android.permission.READ_MEDIA_VISUAL_USER_SELECTED |
Android 14 及以上兼容“仅允许访问用户选中的照片/视频”模式 | 图片/视频有限授权访问 | 首页-本地媒体-图片投屏/视频投屏 | 当用户只允许访问部分图片/视频时,系统通过该权限支持应用访问用户已选择的媒体,避免越权读取全部媒体库。 |
| 音频设置 | android.permission.MODIFY_AUDIO_SETTINGS |
调整媒体音量、静音等音频输出设置 | 播放器音量手势、DLNA 渲染音量控制 | 播放器-播放页;首页-本地媒体-连接设备/投屏控制 | 播放器需要响应用户的音量手势,DLNA 渲染控制需要同步或调整媒体音量,因此需要修改音频输出设置。 |
| 前台服务 | android.permission.FOREGROUND_SERVICE |
支持媒体选择/处理相关前台服务 | PictureSelector 媒体处理服务 | 首页-本地媒体-图片/视频/音频选择 | 本地媒体选择库在处理媒体任务时声明前台服务,用于在系统后台限制下保持任务稳定完成。 |
| Wi-Fi 状态读取 | android.permission.ACCESS_WIFI_STATE |
获取 Wi-Fi 连接信息和局域网 IP | DLNA/UPnP 设备发现、本地 HTTP 地址生成、局域网投屏连接 | 首页-本地媒体-连接设备;首页-本地媒体-图片/视频/音频投屏 | DLNA 投屏需要知道当前局域网地址并在同一 Wi-Fi 网络内发现设备;该权限用于读取 Wi-Fi/IP 信息。 |
| Wi-Fi 多播 | android.permission.CHANGE_WIFI_MULTICAST_STATE |
允许局域网多播通信 | DLNA/UPnP 设备搜索和发现 | 首页-本地媒体-连接设备;首页-本地媒体-投屏 | DLNA/UPnP 设备发现依赖局域网多播/广播能力,需要开启多播锁以发现同网段可投屏设备。 |
| 保持唤醒 | android.permission.WAKE_LOCK |
在设备发现、投屏、局域网服务运行时保持短时唤醒 | DLNA 搜索、投屏连接、本地服务运行 | 首页-本地媒体-连接设备;投屏播放过程 | 投屏搜索和局域网服务可能需要短时间持续运行,避免系统休眠导致搜索或投屏中断。 |
| 广告服务归因兼容 | android.permission.ACCESS_ADSERVICES_ATTRIBUTION |
Google/Firebase 依赖链自动合并的广告服务归因能力 | Firebase/Google Play services 归因兼容 | 应用启动/依赖初始化,无独立业务入口 | 当前业务代码未发现主动广告投放逻辑;该权限来自 Firebase/Google 依赖合并,用于系统广告服务归因兼容。 |
| 广告服务 ID 兼容 | android.permission.ACCESS_ADSERVICES_AD_ID |
Google/Firebase 依赖链自动合并的广告服务 ID 能力 | Firebase/Google Play services 兼容 | 应用启动/依赖初始化,无独立业务入口 | 当前 com.google.android.gms.permission.AD_ID 已在源码 Manifest 中移除;该权限为 Android AdServices 相关自动合并权限,不属于核心媒体功能主动申请。 |
| Google Play 安装来源 | com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE |
获取 Google Play 安装来源信息 | Firebase/Google 统计或安装归因依赖 | 应用启动/依赖初始化,无独立业务入口 | 该权限通常由 Google Play / Firebase 依赖自动加入,用于安装来源归因,不会作为普通运行时权限向用户弹窗。 |
| 应用内动态广播安全权限 | me.mrdong.online.mediacrazy.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION |
限制应用内动态广播接收器访问范围 | AndroidX/系统兼容层动态广播保护 | 应用内部机制,无用户入口 | 这是签名级应用内权限,用于保护未导出的动态广播接收器,不用于收集个人信息,也不会向用户申请。 |
2. 信息的存储
2.1 信息存储的方式和期限- 我们会通过安全的方式存储您的信息,包括本地存储(例如利用APP进行数据缓存)、数据库和服务器日志。
- 一般情况下,我们只会在为实现服务目的所必需的时间内或法律法规规定的条件下存储您的个人信息。
- 我们会按照法律法规规定,将境内收集的用户个人信息存储于中国境内。
- 目前我们不会跨境传输或存储您的个人信息。将来如需跨境传输或存储的,我们会向您告知信息出境的目的、接收方、安全保证措施和安全风险,并征得您的同意。
- 当我们的产品或服务发生停止运营的情况时,我们将以推送通知、公告等形式通知您,并在合理期限内删除您的个人信息或进行匿名化处理,法律法规另有规定的除外。
3. 信息安全
我们使用各种安全技术和程序,以防信息的丢失、不当使用、未经授权阅览或披露。例如,在某些服务中,我们将利用加密技术(例如SSL)来保护您提供的个人信息。但请您理解,由于技术的限制以及可能存在的各种恶意手段,在互联网行业,即便竭尽所能加强安全措施,也不可能始终保证信息百分之百的安全。您需要了解,您接入我们的服务所用的系统和通讯网络,有可能因我们可控范围外的因素而出现问题。
4. 我们如何使用信息
我们可能将在向您提供服务的过程之中所收集的信息用作下列用途:
- 向您提供服务;
- 在我们提供服务时,用于身份验证、客户服务、安全防范、诈骗监测、存档和备份用途,确保我们向您提供的产品和服务的安全性;
- 帮助我们设计新服务,改善我们现有服务;
- 使我们更加了解您如何接入和使用我们的服务,从而针对性地回应您的个性化需求,例如语言设定、位置设定、个性化的帮助服务和指示,或对您和其他用户作出其他方面的回应;
- 向您提供与您更加相关的广告以替代普遍投放的广告;
- 评估我们服务中的广告和其他促销及推广活动的效果,并加以改善;
- 软件认证或管理软件升级;
- 让您参与有关我们产品和服务的调查。
5. 信息共享
目前,我们不会主动共享或转让您的个人信息至第三方,如存在其他共享或转让您的个人信息或您需要我们将您的个人信息共享或转让至第三方情形时,我们会直接或确认第三方征得您对上述行为的明示同意。
为了投放广告,评估、优化广告投放效果等目的,我们需要向广告主及其代理商等第三方合作伙伴共享您的部分数据,要求其严格遵守我们关于数据隐私保护的措施与要求,包括但不限于根据数据保护协议、承诺书及相关数据处理政策进行处理,避免识别出个人身份,保障隐私安全。
我们不会向合作伙伴分享可用于识别您个人身份的信息(例如您的姓名或电子邮件地址),除非您明确授权。
我们不会对外公开披露所收集的个人信息,如必须公开披露时,我们会向您告知此次公开披露的目的、披露信息的类型及可能涉及的敏感信息,并征得您的明示同意。
随着我们业务的持续发展,我们有可能进行合并、收购、资产转让等交易,我们将告知您相关情形,按照法律法规及不低于本《隐私政策》所要求的标准继续保护或要求新的控制者继续保护您的个人信息。
另外,根据相关法律法规及国家标准,以下情形中,我们可能会共享、转让、公开披露个人信息无需事先征得您的授权同意:
- 与国家安全、国防安全直接相关的;
- 与公共安全、公共卫生、重大公共利益直接相关的;
- 犯罪侦查、起诉、审判和判决执行等直接相关的;
- 出于维护个人信息主体或其他个人的生命、财产等重大合法权益但又很难得到本人同意的;
- 个人信息主体自行向社会公众公开个人信息的;
- 从合法公开披露的信息中收集个人信息的,如合法的新闻报道、政府信息公开等渠道。
6. 您的权利
在您使用我们的服务期间,我们可能会视产品具体情况为您提供相应的操作设置,以便您可以查询、删除、更正或撤回您的相关个人信息,您可参考相应的具体指引进行操作。此外,我们还设置了投诉举报渠道,您的意见将会得到及时的处理。如果您无法通过上述途径和方式行使您的个人信息主体权利,您可以通过本《隐私政策》中提供的联系方式提出您的请求,我们会按照法律法规的规定予以反馈。
7. 变更
我们可能适时修订本《隐私政策》的条款。当变更发生时,我们会在版本更新时向您提示新的《隐私政策》,并向您说明生效日期。请您仔细阅读变更后的《隐私政策》内容,若您继续使用我们的服务,即表示您同意我们按照更新后的《隐私政策》处理您的个人信息。
8. 未成年人保护
我们鼓励父母或监护人指导未满十八岁的未成年人使用我们的服务。我们建议未成年人鼓励他们的父母或监护人阅读本《隐私政策》,并建议未成年人在提交的个人信息之前寻求父母或监护人的同意和指导。