AndroidManifest.xml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools">
  4. <uses-permission android:name="android.permission.INTERNET" />
  5. <uses-permission android:name="android.permission.WAKE_LOCK" />
  6. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  7. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  8. <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
  9. <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
  10. <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
  11. <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
  12. <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
  13. <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
  14. <uses-permission
  15. android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
  16. tools:ignore="ScopedStorage" />
  17. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  18. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  19. <application
  20. android:name=".App"
  21. android:allowBackup="true"
  22. android:icon="@mipmap/ic_launcher"
  23. android:label="@string/app_name"
  24. android:networkSecurityConfig="@xml/network_security_config"
  25. android:requestLegacyExternalStorage="true"
  26. android:supportsRtl="true"
  27. android:theme="@style/AppTheme.Light"
  28. tools:ignore="AllowBackup,GoogleAppIndexingWarning,UnusedAttribute">
  29. <!-- 主入口 -->
  30. <activity
  31. android:name=".ui.welcome.WelcomeActivity"
  32. android:exported="true">
  33. <intent-filter>
  34. <action android:name="android.intent.action.MAIN" />
  35. <category android:name="android.intent.category.LAUNCHER" />
  36. </intent-filter>
  37. </activity>
  38. <!-- 图标1 -->
  39. <activity
  40. android:name=".ui.welcome.Launcher1"
  41. android:enabled="false"
  42. android:exported="true"
  43. android:icon="@mipmap/launcher1">
  44. <intent-filter>
  45. <action android:name="android.intent.action.MAIN" />
  46. <category android:name="android.intent.category.LAUNCHER" />
  47. </intent-filter>
  48. </activity>
  49. <!-- 图标2 -->
  50. <activity
  51. android:name=".ui.welcome.Launcher2"
  52. android:enabled="false"
  53. android:exported="true"
  54. android:icon="@mipmap/launcher2">
  55. <intent-filter>
  56. <action android:name="android.intent.action.MAIN" />
  57. <category android:name="android.intent.category.LAUNCHER" />
  58. </intent-filter>
  59. </activity>
  60. <!-- 图标3 -->
  61. <activity
  62. android:name=".ui.welcome.Launcher3"
  63. android:enabled="false"
  64. android:exported="true"
  65. android:icon="@mipmap/launcher3">
  66. <intent-filter>
  67. <action android:name="android.intent.action.MAIN" />
  68. <category android:name="android.intent.category.LAUNCHER" />
  69. </intent-filter>
  70. </activity>
  71. <!-- 图标4 -->
  72. <activity
  73. android:name=".ui.welcome.Launcher4"
  74. android:enabled="false"
  75. android:exported="true"
  76. android:icon="@mipmap/launcher4">
  77. <intent-filter>
  78. <action android:name="android.intent.action.MAIN" />
  79. <category android:name="android.intent.category.LAUNCHER" />
  80. </intent-filter>
  81. </activity>
  82. <!-- 图标5 -->
  83. <activity
  84. android:name=".ui.welcome.Launcher5"
  85. android:enabled="false"
  86. android:exported="true"
  87. android:icon="@mipmap/launcher5">
  88. <intent-filter>
  89. <action android:name="android.intent.action.MAIN" />
  90. <category android:name="android.intent.category.LAUNCHER" />
  91. </intent-filter>
  92. </activity>
  93. <!-- 图标6 -->
  94. <activity
  95. android:name=".ui.welcome.Launcher6"
  96. android:enabled="false"
  97. android:exported="true"
  98. android:icon="@mipmap/launcher6">
  99. <intent-filter>
  100. <action android:name="android.intent.action.MAIN" />
  101. <category android:name="android.intent.category.LAUNCHER" />
  102. </intent-filter>
  103. </activity>
  104. <!-- 主界面 -->
  105. <activity
  106. android:name=".ui.main.MainActivity"
  107. android:alwaysRetainTaskState="true"
  108. android:configChanges="locale|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout|uiMode"
  109. android:exported="true"
  110. android:launchMode="singleTask" />
  111. <!-- 阅读界面 -->
  112. <activity
  113. android:name=".ui.book.read.ReadBookActivity"
  114. android:configChanges="locale|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout"
  115. android:exported="true"
  116. android:launchMode="singleTask">
  117. <intent-filter>
  118. <action android:name="com.samsung.android.support.REMOTE_ACTION" />
  119. </intent-filter>
  120. <meta-data
  121. android:name="com.samsung.android.support.REMOTE_ACTION"
  122. android:resource="@xml/spen_remote_actions" />
  123. </activity>
  124. <!-- 书籍详情页 -->
  125. <activity
  126. android:name=".ui.book.info.BookInfoActivity"
  127. android:launchMode="singleTop" />
  128. <!-- 书籍信息编辑 -->
  129. <activity
  130. android:name=".ui.book.info.edit.BookInfoEditActivity"
  131. android:launchMode="singleTask" />
  132. <!-- 音频播放界面 -->
  133. <activity
  134. android:name="io.legado.app.ui.book.audio.AudioPlayActivity"
  135. android:launchMode="singleTask" />
  136. <!-- 授权界面 -->
  137. <activity
  138. android:name="io.legado.app.lib.permission.PermissionActivity"
  139. android:theme="@style/Activity.Permission" />
  140. <!-- 二维码扫描 -->
  141. <activity
  142. android:name=".ui.qrcode.QrCodeActivity"
  143. android:launchMode="singleTask" />
  144. <!-- 规则订阅 -->
  145. <activity
  146. android:name=".ui.rss.subscription.RuleSubActivity"
  147. android:launchMode="singleTask" />
  148. <!-- 书源编辑 -->
  149. <activity
  150. android:name=".ui.book.source.edit.BookSourceEditActivity"
  151. android:configChanges="locale|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout"
  152. android:launchMode="singleTask"
  153. android:windowSoftInputMode="adjustResize|stateHidden" />
  154. <!-- 订阅源编辑 -->
  155. <activity
  156. android:name=".ui.rss.source.edit.RssSourceEditActivity"
  157. android:configChanges="locale|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout"
  158. android:launchMode="singleTask"
  159. android:windowSoftInputMode="adjustResize|stateHidden" />
  160. <!-- 书源编辑 -->
  161. <activity
  162. android:name=".ui.replace.edit.ReplaceEditActivity"
  163. android:configChanges="locale|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout"
  164. android:launchMode="singleTask"
  165. android:windowSoftInputMode="adjustResize|stateHidden" />
  166. <!-- 配置界面 -->
  167. <activity
  168. android:name=".ui.config.ConfigActivity"
  169. android:launchMode="singleTask" />
  170. <!-- 搜索界面 -->
  171. <activity
  172. android:name=".ui.book.search.SearchActivity"
  173. android:launchMode="standard" />
  174. <!-- 关于界面 -->
  175. <activity
  176. android:name=".ui.about.AboutActivity"
  177. android:launchMode="singleTask"
  178. android:screenOrientation="behind" />
  179. <!-- 捐赠界面 -->
  180. <activity
  181. android:name=".ui.about.DonateActivity"
  182. android:launchMode="singleTask"
  183. android:screenOrientation="behind" />
  184. <!-- 书源管理 -->
  185. <activity
  186. android:name=".ui.book.source.manage.BookSourceActivity"
  187. android:launchMode="singleTop"
  188. android:screenOrientation="behind" />
  189. <!-- 订阅源管理 -->
  190. <activity
  191. android:name=".ui.rss.source.manage.RssSourceActivity"
  192. android:launchMode="singleTop"
  193. android:screenOrientation="behind" />
  194. <!-- txt目录规则管理 -->
  195. <activity
  196. android:name=".ui.book.toc.rule.TxtTocRuleActivity"
  197. android:launchMode="singleTop"
  198. android:screenOrientation="behind" />
  199. <!-- 替换规则界面 -->
  200. <activity
  201. android:name=".ui.replace.ReplaceRuleActivity"
  202. android:launchMode="singleTop"
  203. android:screenOrientation="behind" />
  204. <!-- 书籍管理 -->
  205. <activity
  206. android:name=".ui.book.manage.BookshelfManageActivity"
  207. android:launchMode="singleTop"
  208. android:screenOrientation="behind" />
  209. <!-- 书源调试 -->
  210. <activity
  211. android:name=".ui.book.source.debug.BookSourceDebugActivity"
  212. android:launchMode="singleTop"
  213. android:screenOrientation="behind" />
  214. <!-- 目录 -->
  215. <activity
  216. android:name=".ui.book.toc.TocActivity"
  217. android:launchMode="singleTop"
  218. android:screenOrientation="behind" />
  219. <!-- 正文搜索 -->
  220. <activity
  221. android:name=".ui.book.searchContent.SearchContentActivity"
  222. android:launchMode="singleTop"
  223. android:screenOrientation="behind" />
  224. <!-- RSS条目 -->
  225. <activity
  226. android:name=".ui.rss.article.RssSortActivity"
  227. android:launchMode="singleTop" />
  228. <!-- RSS阅读 -->
  229. <activity
  230. android:name=".ui.rss.read.ReadRssActivity"
  231. android:configChanges="orientation|screenSize"
  232. android:hardwareAccelerated="true"
  233. android:launchMode="singleTop" />
  234. <!-- 导入书籍 -->
  235. <activity
  236. android:name=".ui.book.import.local.ImportBookActivity"
  237. android:launchMode="singleTop" />
  238. <!-- 添加远程 -->
  239. <activity
  240. android:name=".ui.book.import.remote.RemoteBookActivity"
  241. android:launchMode="singleTop" />
  242. <!-- 发现界面 -->
  243. <activity
  244. android:name=".ui.book.explore.ExploreShowActivity"
  245. android:launchMode="singleTop" />
  246. <!-- 订阅源调试 -->
  247. <activity
  248. android:name=".ui.rss.source.debug.RssSourceDebugActivity"
  249. android:launchMode="singleTop" />
  250. <!-- Rss收藏 -->
  251. <activity
  252. android:name=".ui.rss.favorites.RssFavoritesActivity"
  253. android:launchMode="singleTop" />
  254. <!-- 书签 -->
  255. <activity
  256. android:name=".ui.book.bookmark.AllBookmarkActivity"
  257. android:launchMode="singleTop" />
  258. <!-- 缓存界面 -->
  259. <activity
  260. android:name=".ui.book.cache.CacheActivity"
  261. android:launchMode="singleTop" />
  262. <!-- WebView界面 -->
  263. <activity
  264. android:name=".ui.browser.WebViewActivity"
  265. android:configChanges="locale|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout"
  266. android:launchMode="standard" />
  267. <!-- 书源登录 -->
  268. <activity
  269. android:name="io.legado.app.ui.login.SourceLoginActivity"
  270. android:configChanges="orientation|screenSize"
  271. android:hardwareAccelerated="true"
  272. android:theme="@style/AppTheme.Transparent" />
  273. <!-- 阅读记录 -->
  274. <activity
  275. android:name=".ui.about.ReadRecordActivity"
  276. android:configChanges="orientation|screenSize"
  277. android:hardwareAccelerated="true" />
  278. <!-- 字典管理 -->
  279. <activity
  280. android:name=".ui.dict.rule.DictRuleActivity"
  281. android:configChanges="orientation|screenSize"
  282. android:hardwareAccelerated="true" />
  283. <!-- 选择文件 -->
  284. <activity
  285. android:name=".ui.document.HandleFileActivity"
  286. android:configChanges="orientation|screenSize"
  287. android:hardwareAccelerated="true"
  288. android:theme="@style/AppTheme.Transparent" />
  289. <!-- 文字处理 -->
  290. <activity
  291. android:name=".receiver.SharedReceiverActivity"
  292. android:exported="true"
  293. android:label="@string/receiving_shared_label"
  294. android:theme="@style/AppTheme.Transparent">
  295. <intent-filter>
  296. <action android:name="android.intent.action.PROCESS_TEXT" />
  297. <category android:name="android.intent.category.DEFAULT" />
  298. <data android:mimeType="text/plain" />
  299. </intent-filter>
  300. <intent-filter>
  301. <action android:name="android.intent.action.SEND" />
  302. <category android:name="android.intent.category.DEFAULT" />
  303. <data android:mimeType="text/plain" />
  304. </intent-filter>
  305. </activity>
  306. <!-- 一键导入 -->
  307. <activity
  308. android:name=".ui.association.OnLineImportActivity"
  309. android:configChanges="locale|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout"
  310. android:exported="true"
  311. android:theme="@style/AppTheme.Transparent">
  312. <intent-filter>
  313. <action android:name="android.intent.action.VIEW" />
  314. <category android:name="android.intent.category.DEFAULT" />
  315. <category android:name="android.intent.category.BROWSABLE" />
  316. <data android:scheme="legado" />
  317. <data android:scheme="yuedu" />
  318. </intent-filter>
  319. </activity>
  320. <!-- 验证码输入 -->
  321. <activity
  322. android:name=".ui.association.VerificationCodeActivity"
  323. android:configChanges="locale|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout"
  324. android:exported="true"
  325. android:theme="@style/AppTheme.Transparent" />
  326. <!-- 打开文件 -->
  327. <activity
  328. android:name=".ui.association.FileAssociationActivity"
  329. android:exported="true"
  330. android:launchMode="singleTop"
  331. android:theme="@style/AppTheme.Transparent">
  332. <!-- VIEW (Open with) action -->
  333. <!-- Works when an app knows the media type of a file, e.g. Gmail or Chrome. -->
  334. <intent-filter>
  335. <action android:name="android.intent.action.VIEW" />
  336. <category android:name="android.intent.category.DEFAULT" />
  337. <category android:name="android.intent.category.BROWSABLE" />
  338. <data android:scheme="app" />
  339. <data android:scheme="content" />
  340. <data android:scheme="file" />
  341. <!-- text -->
  342. <data android:mimeType="text/plain" />
  343. <!-- json -->
  344. <data android:mimeType="application/json" />
  345. <!-- EPUB -->
  346. <data android:mimeType="application/epub+zip" />
  347. <!-- pdf -->
  348. <data android:mimeType="application/pdf" />
  349. </intent-filter>
  350. <!-- Works when an app doesn't know the media type, e.g. Dropbox -->
  351. <intent-filter>
  352. <action android:name="android.intent.action.VIEW" />
  353. <category android:name="android.intent.category.DEFAULT" />
  354. <category android:name="android.intent.category.BROWSABLE" />
  355. <data android:host="*" />
  356. <data android:scheme="app" />
  357. <data android:scheme="content" />
  358. <data android:scheme="file" />
  359. <!-- This media type is necessary, otherwise it won't match on the file extension -->
  360. <data android:mimeType="*/*" />
  361. <!--TXT-->
  362. <data android:pathAdvancedPattern=".*\\.[tT][xX][tT]" />
  363. <!--JSON-->
  364. <data android:pathAdvancedPattern=".*\\.[jJ][sS][oO][nN]" />
  365. <!-- EPUB -->
  366. <data android:pathAdvancedPattern=".*\\.[eE][pP][uU][bB]" />
  367. <!-- pdf -->
  368. <data android:pathAdvancedPattern=".*\\.[pP][dD][fF]" />
  369. </intent-filter>
  370. </activity>
  371. <service android:name=".service.CheckSourceService" />
  372. <service android:name=".service.CacheBookService" />
  373. <service android:name=".service.WebService" />
  374. <service
  375. android:name=".service.WebTileService"
  376. android:exported="true"
  377. android:icon="@drawable/ic_web_service_noti"
  378. android:label="legado Web Service"
  379. android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
  380. <intent-filter>
  381. <action android:name="android.service.quicksettings.action.QS_TILE" />
  382. </intent-filter>
  383. </service>
  384. <service android:name=".service.TTSReadAloudService" />
  385. <service android:name=".service.HttpReadAloudService" />
  386. <service android:name=".service.AudioPlayService" />
  387. <service android:name=".service.DownloadService" />
  388. <receiver
  389. android:name=".receiver.MediaButtonReceiver"
  390. android:exported="true">
  391. <intent-filter>
  392. <action android:name="android.intent.action.MEDIA_BUTTON" />
  393. </intent-filter>
  394. </receiver>
  395. <provider
  396. android:name=".api.ReaderProvider"
  397. android:authorities="${applicationId}.readerProvider"
  398. android:enabled="true"
  399. android:exported="true"
  400. tools:ignore="ExportedContentProvider" />
  401. <provider
  402. android:name="androidx.core.content.FileProvider"
  403. android:authorities="${applicationId}.fileProvider"
  404. android:exported="false"
  405. android:grantUriPermissions="true">
  406. <meta-data
  407. android:name="android.support.FILE_PROVIDER_PATHS"
  408. android:resource="@xml/file_paths" />
  409. </provider>
  410. <meta-data
  411. android:name="channel"
  412. android:value="${APP_CHANNEL_VALUE}" />
  413. </application>
  414. <queries>
  415. <intent>
  416. <action android:name="android.intent.action.TTS_SERVICE" />
  417. </intent>
  418. <intent>
  419. <action android:name="android.intent.action.PROCESS_TEXT" />
  420. <data android:mimeType="text/plain" />
  421. </intent>
  422. </queries>
  423. </manifest>