Как запретить перезагрузку Activity при использовании Intent.createChooser() для запуска меню обмена?
У меня есть WebView, который имеет значок общего доступа внизу страницы.
Когда пользователь нажимает значок, он запускает меню обмена:
chooserIntent = Intent.createChooser(targetedShareIntents.remove(0), "Share via");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[]{}));
startActivityForResult(chooserIntent, SHARING_MENU);
После появления меню общего доступа, если пользователь нажимает кнопку "Назад" или щелкает за пределами меню общего доступа, оно закрывается, но действие перезапускается, и веб-страница перезагружается в веб-представлении.
Я хочу остановить это. Я пытался реализовать следующий код внутри onActivityResult, но он не работает
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Check which request we're responding to
if (requestCode == SHARING_MENU) {
// Make sure the request was successful
if (resultCode == RESULT_CANCELED) {
webviewObj.stopLoading();
this.finishActivity(SHARING_MENU);
}
}
}
Я попытался добавить - android:launchMode="singleInstance"
в файле манифеста, но это не работает.
Пожалуйста помоги!!!
1 ответ
Решение
Я нашел простое решение этой проблемы.
В Activity WebView я добавил код инициализации UI внутри:-
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
if(savedInstanceState == null) {
initUI();
}
}
И это решило мою проблему:)