6

現在のステータスは何ですか。Android webView (ブラウザ/Chrome カスタム タブではない) に、「bankid:///?autostarttoken=xxxx-xxxxc&redirect=https://...」のようなカスタム URL スキームのリンクを解釈させることはできますか?

ここで予想される動作は、リンクをロードするときに BankID アプリが開くことです。代わりに「err_unknown_url_scheme」を取得します。これに対する回避策はありますか? それとも、インテントを使用する唯一の方法ですか?

以下のように Intent を使用してみましたが、動作しますが、リダイレクト パラメータ URL に問題があり、望ましくないブラウザが開きます。webView/app にとどまるように app id/null に置き換えましたが、webView で期待されるコールバック URL を取得できませんでした。

public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {

        String url = request.getUrl().toString();
        if(!url.startsWith("http") && !url.startsWith("https")) {
            Uri newUri = replaceUriParameter(Uri.parse(url), 
            "redirect", BuildConfig.APPLICATION_ID);

            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.setData(newUri);

            startActivityForResult(intent, START_ACTIVITY_FOR_RESULT_LOGIN);
            view.reload();
            return true;
       }
}
4

1 に答える 1