AndroidManifest.xml 19 KB

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