Add build config plugin to set .MainActivity launchMode
This commit is contained in:
@@ -204,6 +204,7 @@ module.exports = function (config) {
|
|||||||
],
|
],
|
||||||
'./plugins/withAndroidManifestPlugin.js',
|
'./plugins/withAndroidManifestPlugin.js',
|
||||||
'./plugins/withAndroidManifestFCMIconPlugin.js',
|
'./plugins/withAndroidManifestFCMIconPlugin.js',
|
||||||
|
'./plugins/withAndroidManifestLaunchModePlugin.js',
|
||||||
'./plugins/withAndroidStylesWindowBackgroundPlugin.js',
|
'./plugins/withAndroidStylesWindowBackgroundPlugin.js',
|
||||||
'./plugins/withAndroidStylesAccentColorPlugin.js',
|
'./plugins/withAndroidStylesAccentColorPlugin.js',
|
||||||
'./plugins/withAndroidSplashScreenStatusBarTranslucentPlugin.js',
|
'./plugins/withAndroidSplashScreenStatusBarTranslucentPlugin.js',
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
const {withAndroidManifest} = require('expo/config-plugins')
|
||||||
|
|
||||||
|
module.exports = function withAndroidManifestLaunchModePlugin(appConfig) {
|
||||||
|
return withAndroidManifest(appConfig, function (decoratedAppConfig) {
|
||||||
|
try {
|
||||||
|
const mainApplication =
|
||||||
|
decoratedAppConfig.modResults.manifest.application[0]
|
||||||
|
const mainActivity = mainApplication.activity.find(
|
||||||
|
elem => elem.$['android:name'] === '.MainActivity',
|
||||||
|
)
|
||||||
|
|
||||||
|
mainActivity.$['android:launchMode'] = 'singleTop'
|
||||||
|
} catch (e) {
|
||||||
|
console.error(`withAndroidManifestLaunchModePlugin failed`, e)
|
||||||
|
}
|
||||||
|
return decoratedAppConfig
|
||||||
|
})
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user