1

そのため、Androidアプリ内でWebViewを介してロードしているWebアプリケーションがあります。ユーザーが外部 Web サイトのボタンをクリックしたときに、Android アプリ内で関数を呼び出すにはどうすればよいですか? その関数を実行するだけでなく、変数を渡すこともできるようにしたいと考えています。多分 myapp://activity/?d=variables%20to%20pass のようなリンクですか?ウェブサイトとAndroidアプリの両方でそれをどのように実装すればよいですか?

4

1 に答える 1

3

あなたのページに「通常の」ウェブリンクも含めることができるかどうかはわかりません...(以下の例では可能だと思います)。

まず第一に、ページはアプリが処理しなければならないリンクであることをアプリに伝える必要があります

あなたのリンクを使用して:

"myapp://activity/?d=variables"

webview-activity では、Webviewclient をオーバーライドし、リンクが呼び出す URL をインターセプトし、そのリンクがアプリ用であるかどうかを確認し、最終的に必要なアクションを実行し、パラメーターを解析する必要があります。

_webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
            //find out if the link we're looking for is really for this app
    if (url.contains("myapp://activity")){
        String action= = url.substring("myapp://activity/?".length());
        //parse the action from the link...
        //do something with this action..., parse additional params etc.

        return true;
    }

    //handle the "normal" links...
    return super.shouldOverrideUrlLoading(view, url);
}   
});

お役に立てれば

于 2013-10-04T22:03:00.977 に答える