AndroidManifest.xml文件中的注释

pull/5/head
SHarkii 3 months ago
parent ce10e6bb89
commit 8d2f4404e5

@ -2,14 +2,38 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<!--
* 应用所需权限声明
* 注意:从 Android 6.0 (API level 23) 开始,部分权限需要在运行时动态申请
-->
<!-- 允许应用写入外部存储(如 SD 卡) -->
<!-- 注意:从 Android 10 开始,建议使用 Scoped Storage 替代此权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 允许应用在主屏幕上创建快捷方式 -->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<!-- 允许应用访问网络连接 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 允许应用读取用户的联系人数据 -->
<uses-permission android:name="android.permission.READ_CONTACTS" />
<!-- 允许应用管理账户(如添加、删除账户) -->
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<!-- 允许应用执行账户认证 -->
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<!-- 允许应用获取账户列表 -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- 允许应用使用账户凭证 -->
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<!-- 允许应用接收系统启动完成的广播 -->
<!-- 用于在设备启动后重新设置闹钟等任务 -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
@ -23,6 +47,13 @@
android:theme="@style/Theme.Notesmaster"
tools:targetApi="31">
<!--
* 应用主界面活动:笔记列表
* 特性:
* - singleTop 启动模式:避免重复创建相同的 Activity 实例
* - 处理屏幕旋转和键盘显示等配置变化
* - 支持分屏操作splitActionBarWhenNarrow
-->
<activity
android:name=".ui.NotesListActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
@ -33,12 +64,21 @@
android:windowSoftInputMode="adjustPan"
android:exported="true">
<!-- 应用启动入口点 -->
<!-- 系统启动器通过此 intent-filter 识别应用图标和启动 Activity -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!--
* 笔记编辑活动
* 支持以下操作:
* - 查看现有笔记VIEW 操作)
* - 创建或编辑笔记INSERT_OR_EDIT 操作)
* - 搜索笔记内容SEARCH 操作)
-->
<activity
android:name=".ui.NoteEditActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
@ -46,6 +86,8 @@
android:theme="@style/NoteTheme"
android:exported="true">
<!-- 处理查看笔记请求的意图过滤器 -->
<!-- 支持两种 MIME 类型:文本笔记和通话笔记 -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
@ -53,6 +95,8 @@
<data android:mimeType="vnd.android.cursor.item/call_note" />
</intent-filter>
<!-- 处理插入或编辑笔记请求的意图过滤器 -->
<!-- 同样支持文本笔记和通话笔记两种类型 -->
<intent-filter>
<action android:name="android.intent.action.INSERT_OR_EDIT" />
<category android:name="android.intent.category.DEFAULT" />
@ -60,22 +104,37 @@
<data android:mimeType="vnd.android.cursor.item/call_note" />
</intent-filter>
<!-- 搜索功能的意图过滤器 -->
<!-- 与下面的 searchable 元数据配合实现搜索功能 -->
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<!-- 配置搜索功能的元数据 -->
<!-- @xml/searchable 文件定义了搜索框的样式和搜索逻辑 -->
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
<!--
* 内容提供者:用于管理和访问应用的笔记数据
* - authorities 指定内容提供者的唯一标识符
* - multiprocess 允许在多个进程中实例化此提供者
-->
<provider
android:name="net.micode.notes.data.NotesProvider"
android:authorities="micode_notes"
android:multiprocess="true" />
<!--
* 2x2 尺寸的桌面小部件
* 响应以下广播事件:
* - APPWIDGET_UPDATE小部件更新事件
* - APPWIDGET_DELETED小部件删除事件
* - PRIVACY_MODE_CHANGED隐私模式变更事件
-->
<receiver
android:name=".widget.NoteWidgetProvider_2x"
android:label="@string/app_widget2x2"
@ -86,10 +145,17 @@
<action android:name="android.intent.action.PRIVACY_MODE_CHANGED" />
</intent-filter>
<!-- 小部件配置元数据 -->
<!-- @xml/widget_2x_info 定义了小部件的布局、更新周期等信息 -->
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_2x_info" />
</receiver>
<!--
* 4x4 尺寸的桌面小部件
* 功能与 2x2 小部件类似,但提供更大的显示区域
-->
<receiver
android:name=".widget.NoteWidgetProvider_4x"
android:label="@string/app_widget4x4"
@ -101,11 +167,17 @@
<action android:name="android.intent.action.PRIVACY_MODE_CHANGED" />
</intent-filter>
<!-- 小部件配置元数据 -->
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_4x_info" />
</receiver>
<!--
* 开机初始化接收器
* 响应系统启动完成广播BOOT_COMPLETED
* 主要用于重新设置已安排的闹钟提醒
-->
<receiver android:name=".ui.AlarmInitReceiver"
android:exported="true">
<intent-filter>
@ -113,11 +185,21 @@
</intent-filter>
</receiver>
<!--
* 闹钟提醒接收器
* 在单独的进程中运行(:remote
* 处理闹钟触发事件并启动提醒界面
-->
<receiver
android:name="net.micode.notes.ui.AlarmReceiver"
android:process=":remote" >
</receiver>
<!--
* 闹钟提醒活动
* 以 singleInstance 模式启动
* 使用全屏无标题栏主题,确保在锁屏状态下也能显示
-->
<activity
android:name=".ui.AlarmAlertActivity"
android:label="@string/app_name"
@ -125,6 +207,11 @@
android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar" >
</activity>
<!--
* 应用设置偏好活动
* 提供应用内设置选项(如主题、通知等)
* 使用 Holo.Light 主题提供简洁的设置界面
-->
<activity
android:name="net.micode.notes.ui.NotesPreferenceActivity"
android:label="@string/preferences_title"
@ -132,24 +219,39 @@
android:theme="@android:style/Theme.Holo.Light" >
</activity>
<!--
* Google 任务同步服务
* 用于与 Google Tasks 同步笔记数据
* 设计为不可导出服务,仅由应用内部调用
-->
<service
android:name="net.micode.notes.gtask.remote.GTaskSyncService"
android:exported="false" >
</service>
<!--
* 默认搜索活动配置
* 指定 NoteEditActivity 作为应用的默认搜索处理活动
-->
<meta-data
android:name="android.app.default_searchable"
android:value=".ui.NoteEditActivity" />
<!-- <activity-->
<!-- android:name=".MainActivity"-->
<!-- android:exported="true">-->
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
<!-- </activity>-->
<!--
* 注释掉的主活动示例
* 保留此代码作为参考,展示另一种主活动配置方式
* 注意:一个应用只能有一个 MAIN/LAUNCHER intent-filter
-->
<!--
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
-->
</application>

Loading…
Cancel
Save