Использования startActivityForResult doesn't work properly in Android < 5.0 when using launchMode singleInstance or singleTask. Однако, я использую эту launchMode, чтобы избежать WebView перезарядки:AndroidManifest атрибутов в зависимости от уровня API
android:alwaysRetainTaskState="true"
android:documentLaunchMode="never"
android:launchMode="singleInstance"
Я понимаю, что нет никакой возможности обойти вокруг первого ограничения.
Есть ли способ сделать эти переменные атрибутов манифеста, в зависимости от версии API?
(я бы использовал эти три атрибута с заданными значениями для Android> 5.0, и launchMode="standard"
для Android < 5,0 Очень похоже на this, только то, что я не могу найти способ, чтобы определить documentLaunchMode
и launchMode
;. Только alwaysRetainTaskState
, так как это bool).
Я не понимаю, почему вам нужно использовать специальный режим запуска, чтобы избежать перезагрузки WebView. Можете ли вы уточнить? –
Привет @DavidWasser, ну я не уверен, что это связано с тем, как сайт был сделан, но каждый раз, когда приложения переходят на задний план, когда я его возобновляю, WebView перезагружается, поэтому любые изменения, которые были сделаны с HTML потеряны. Я googled и обнаружил, что ответ [здесь] (http://stackoverflow.com/questions/28096779/how-to-save-webview-state-and-restore-it-in-android-lollipop) работал в моем случае. – RominaV
Звучит очень странно. В общем, специальные режимы запуска 'singleInstance' и' singleTask' не должны использоваться. Они обычно создают больше проблем, чем они решают. Но, может быть, это тема для другого дня ;-) –