|
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
|
<!-- AndroidManifest.xml: Android应用的配置文件-->
|
|
|
|
|
|
|
|
|
|
<!-- 许可证信息 -->
|
|
|
|
|
<!-- Apache License 2.0: 开源协议,允许用户在遵守协议的前提下使用和修改代码 -->
|
|
|
|
|
|
|
|
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
|
|
|
package="net.micode.notes" <!--应用的包名,用于唯一标识应用-->
|
|
|
|
|
android:versionCode="1" <!-- 应用的内部版本号 -->
|
|
|
|
|
android:versionName="0.1" <!-- 应用的用户可见版本号 -->
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
<!-- 声明应用最低支持的Android SDK版本 -->
|
|
|
|
|
<uses-sdk android:minSdkVersion="14" />
|
|
|
|
|
|
|
|
|
|
<!-- 声明应用需要的权限 -->
|
|
|
|
|
<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
|
|
|
|
|
android:icon="@drawable/icon_app" <!-- 应用的图标 -->
|
|
|
|
|
android:label="@string/app_name" <!-- 应用的标签,通常是应用名称 -->
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
<!-- 主活动:应用的入口点 -->
|
|
|
|
|
<activity
|
|
|
|
|
android:name=".ui.NotesListActivity" <!-- 活动的类名 -->
|
|
|
|
|
android:configChanges="keyboardHidden|orientation|screenSize" <!-- 配置变化时保持活动状态 -->
|
|
|
|
|
android:label="@string/app_name" <!-- 活动的标签 -->
|
|
|
|
|
android:launchMode="singleTop" <!-- 启动模式:栈顶复用 -->
|
|
|
|
|
android:theme="@style/NoteTheme" <!-- 活动的主题 -->
|
|
|
|
|
android:uiOptions="splitActionBarWhenNarrow" <!-- UI选项:屏幕较窄时分离操作栏 -->
|
|
|
|
|
android:windowSoftInputMode="adjustPan" <!-- 输入法窗口模式:平移界面以显示软键盘 -->
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
<!-- 意图过滤器:定义可以响应的意图 -->
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.intent.action.MAIN" /> <!-- 主入口点 -->
|
|
|
|
|
<category android:name="android.intent.category.LAUNCHER" /> <!-- 在启动器中显示 -->
|
|
|
|
|
</intent-filter>
|
|
|
|
|
</activity>
|
|
|
|
|
|
|
|
|
|
<!-- 笔记编辑活动 -->
|
|
|
|
|
<activity
|
|
|
|
|
android:name=".ui.NoteEditActivity"
|
|
|
|
|
android:configChanges="keyboardHidden|orientation|screenSize"
|
|
|
|
|
android:launchMode="singleTop"
|
|
|
|
|
android:theme="@style/NoteTheme"
|
|
|
|
|
>
|
|
|
|
|
<!-- 意图过滤器:响应查看和编辑笔记的意图 -->
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/text_note" />
|
|
|
|
|
<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" />
|
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/text_note" />
|
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/call_note" />
|
|
|
|
|
</intent-filter>
|
|
|
|
|
<!-- 搜索意图 -->
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.intent.action.SEARCH" />
|
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
|
</intent-filter>
|
|
|
|
|
|
|
|
|
|
<!-- 搜索元数据 -->
|
|
|
|
|
<meta-data
|
|
|
|
|
android:name="android.app.searchable"
|
|
|
|
|
android:resource="@xml/searchable" />
|
|
|
|
|
</activity>
|
|
|
|
|
|
|
|
|
|
<!-- 内容提供者:用于存储和检索应用数据 -->
|
|
|
|
|
<!-- 注册一个内容提供器,用于提供便签数据 -->
|
|
|
|
|
<provider
|
|
|
|
|
android:name="net.micode.notes.data.NotesProvider" <!-- 内容提供器的完整类名 -->
|
|
|
|
|
android:authorities="micode_notes" <!-- 内容提供器的唯一标识 -->
|
|
|
|
|
android:multiprocess="true" /> <!-- 允许内容提供器在多个进程中运行 -->
|
|
|
|
|
|
|
|
|
|
<!-- 注册一个广播接收器,用于2x2大小的便签小部件 -->
|
|
|
|
|
<receiver
|
|
|
|
|
android:name=".widget.NoteWidgetProvider_2x" <!-- 广播接收器的完整类名 -->
|
|
|
|
|
android:label="@string/app_widget2x2" > <!-- 小部件的标签,引用资源文件中的字符串 -->
|
|
|
|
|
<intent-filter> <!-- 定义接收器要响应的意图过滤器 -->
|
|
|
|
|
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> <!-- 响应小部件更新请求 -->
|
|
|
|
|
<action android:name="android.appwidget.action.APPWIDGET_DELETED" /> <!-- 响应小部件删除请求 -->
|
|
|
|
|
<action android:name="android.intent.action.PRIVACY_MODE_CHANGED" /> <!-- 响应隐私模式改变 -->
|
|
|
|
|
</intent-filter>
|
|
|
|
|
|
|
|
|
|
<meta-data
|
|
|
|
|
android:name="android.appwidget.provider" <!-- 指定小部件配置信息的元数据 -->
|
|
|
|
|
android:resource="@xml/widget_2x_info" /> <!-- 指向定义小部件配置信息的XML资源文件 -->
|
|
|
|
|
</receiver>
|
|
|
|
|
|
|
|
|
|
<!-- 注册一个广播接收器,用于4x4大小的便签小部件 -->
|
|
|
|
|
<!-- 代码结构与上面的2x2小部件接收器类似 -->
|
|
|
|
|
<receiver
|
|
|
|
|
android:name=".widget.NoteWidgetProvider_4x"
|
|
|
|
|
android:label="@string/app_widget4x4" >
|
|
|
|
|
<!-- ... -->
|
|
|
|
|
</receiver>
|
|
|
|
|
|
|
|
|
|
<!-- 注册一个广播接收器,用于在设备启动时初始化闹钟 -->
|
|
|
|
|
<receiver android:name=".ui.AlarmInitReceiver" >
|
|
|
|
|
<intent-filter>
|
|
|
|
|
<action android:name="android.intent.action.BOOT_COMPLETED" /> <!-- 响应设备启动完成的意图 -->
|
|
|
|
|
</intent-filter>
|
|
|
|
|
</receiver>
|
|
|
|
|
|
|
|
|
|
<!-- 注册一个广播接收器,用于处理闹钟事件的远程进程 -->
|
|
|
|
|
<receiver
|
|
|
|
|
android:name="net.micode.notes.ui.AlarmReceiver"
|
|
|
|
|
android:process=":remote" > <!-- 指定在远程进程中运行 -->
|
|
|
|
|
</receiver>
|
|
|
|
|
|
|
|
|
|
<!-- 注册一个活动,用于显示闹钟提醒界面 -->
|
|
|
|
|
<activity
|
|
|
|
|
android:name=".ui.AlarmAlertActivity"
|
|
|
|
|
android:label="@string/app_name" <!-- 活动的标签 -->
|
|
|
|
|
android:launchMode="singleInstance" <!-- 指定启动模式为单实例 -->
|
|
|
|
|
android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar" > <!-- 指定活动的主题 -->
|
|
|
|
|
</activity>
|
|
|
|
|
|
|
|
|
|
<!-- 注册一个活动,用于显示便签首选项界面 -->
|
|
|
|
|
<activity
|
|
|
|
|
android:name="net.micode.notes.ui.NotesPreferenceActivity"
|
|
|
|
|
android:label="@string/preferences_title" <!-- 活动的标签 -->
|
|
|
|
|
android:launchMode="singleTop" <!-- 指定启动模式为栈顶复用 -->
|
|
|
|
|
android:theme="@android:style/Theme.Holo.Light" > <!-- 指定活动的主题 -->
|
|
|
|
|
</activity>
|
|
|
|
|
|
|
|
|
|
<!-- 注册一个服务,用于同步Google Task -->
|
|
|
|
|
<service
|
|
|
|
|
android:name="net.micode.notes.gtask.remote.GTaskSyncService"
|
|
|
|
|
android:exported="false" > <!-- 不允许其他应用启动此服务 -->
|
|
|
|
|
</service>
|
|
|
|
|
|
|
|
|
|
<!-- 指定默认搜索活动 -->
|
|
|
|
|
<meta-data
|
|
|
|
|
android:name="android.app.default_searchable"
|
|
|
|
|
android:value=".ui.NoteEditActivity" /> <!-- 指向默认搜索活动 -->
|
|
|
|
|
|
|
|
|
|
</application>
|
|
|
|
|
</manifest>
|