Merge pull request '合并' (#5) from qhh into master1

pull/11/head
ptg69kyl5 3 months ago
commit 5174796fb6

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

Loading…
Cancel
Save