В моем приложении
- пользователь нажимает кнопку и открывается веб-просмотр для оплаты
- , после оплаты пользователь должен автоматически вернуться в приложение
вСначала я использую JavascriptInterface
@JavascriptInterface
public void backtoapp() {
((mainac) getActivity()).runOnUiThread(new Runnable() {
@Override
public void run() {
FragmentManager fm = getFragmentManager();
fm.popBackStack();
}
});
}
и вызываю backtoapp () следующим образом
.
.
<body>
<script>
jint.backtoapp();
</script>
</body>
, но я нашел новый способ сделать это с shouldOverrideUrlLoading
webv.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("myapp://")) {
FragmentManager fm = getFragmentManager();
fm.popBackStack();
}
return true;
}
.
.
и обратноприложение с этим
<?php
header("Location: myapp://openme");
?>
И я хочу знать, какой путь лучше и кросс-API> 15