0

私のアプリでは、HTMLを動的に生成して、Webビューに入力し、ユーザーに情報を表示します。

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

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

そこで、データ「1」「someText」を別のアクティビティに渡します。インテントを取得したアクティビティは、

    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回書き込む必要があります。1つはhref="HereGoesData"にあり、もう1つはテキスト自体にあり、Webビューでユーザーに表示します。

インテントのURLを動的に作成するためにjavascriptを使用してこれを回避する方法があるのだろうか。

したがって、スクリプトはユーザーのクリックを待ってテキストを復元し、それに基づいてURLを作成して情報を含むインテントを起動する必要があります。

javascriptについてはよくわかりませんが、可能であれば、それほど難しいことではないと思います。

Tx

4

1 に答える 1

0

よくやった。javascriptの初心者にとって実際には難しいことではありません

まず、タグを変更して、次の代わりにjavascriptを使用してプログラムでURLを作成する関数を呼び出す必要があります。

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

使用する:

   <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>

そして、それはテストされ、機能しています。

于 2012-04-25T09:30:57.430 に答える