2012-04-24 14 views
0

私のアプリでは、dtmlを生成してwebviewを埋めて情報を表示します。javascriptを使ってアンドロイドに暗黙のインテントを起動する

このhtmlには、暗黙のインテントによって別のアクティビティにデータを渡すためのデータを含むカスタムURLがあります。 すなわち

<a href="com.somedata://1/some Text"> 
     some Text 
    </a> 

だから私は、データを渡す:"1"と:"いくつかのテキスト"別のアクティビティに。インテントを取得したアクティビティは、データを回復します。

Uri data = getIntent().getData(); 
    List<String> segs = data.getPathSegments(); 
    //here I get the number: 
    String number = data.getHost(); 
    //here I get the text: 
    String text = segs.get(0); 

素晴らしいですが、 これは、アプリケーションに強制的にテキストを2回書き込むことを強制します。 WebViewの

でユーザーにそれを表示するのhref =「HereGoesData」とテキスト自体の他の中の一つdinamically目的のためのURLを作成するために、この使用してJavaScriptを回避する方法があるのだろうか。

したがって、スクリプトはユーザーのクリックを待ってテキストを回復し、それに基づいて情報を使用してインテントを開始するURLを作成します。

私はjavascriptについてあまりよく分かりませんが、可能であれば、これはやりにくいと思います。

tx

答えて

0

よく私はそれを行いました。 の代わり:

 <a href="com.somedata://1/some Text"> 
     some Text 
    </a> 

使用:

それは

まずあなたがプログラムではJavaScriptを使用してURLを構築する機能を呼び出すために、タグを変更する必要がJavaScriptで非初心者のために実際には難しいことではありません

<a id="someID" href="javascript:void(0)" onclick="buildUrl(this)"> 
     some Text 
    </a> 

だから、あなたはそれをクリックしたときにURLを構築し、暗黙の意思を起動するJavaScript関数を実行

<script type="text/javascript"> 
    function buildUrl(ele){ 
     var nodes = ele.childNodes; 
     var a = nodes[1].textContent 

     var url = "com.somedata://" 

    window.location = url + 1 + "/" + a 
    } 
    </script> 

そして、それは がテストされ、動作しています。

関連する問題