3

Linkify'dリンクで自分のメソッドを呼び出す方法はありますか?それとも他のアクティビティ/アプリなどへのリンクを作成するためActivityにのみ使用できますか?Linkify

4

4 に答える 4

2

これのいくつかの部分がうまくいったようです。欠落している部分は、フォアグラウンドにある既存のアクティビティがインテントを受け取っているようです。これを行うには、マニフェスト()でアクティビティをsingleTopとして宣言しますandroid:launchMode="singleTop"

したがって、ワークフローは次のようになります。

1)addLinksを使用して、正規表現、Linkify.Matcher、およびLinkify.TransformFilterを使用してテキストをリンクします。

2)クリックされたリンクによって起動されたインテントをキャッチするようにレシーバーを設定します。

3)関連付けられたBroadcastReceiverのonReceiveで、リンクがクリックされたという事実をカプセル化するインテントを設定します。次に、アクティビティ(すでにフォアグラウンドにある)でstartActivityを呼び出し、インテントを渡します。

4)アクティビティのonResumeコールバックで、インテントをチェックして、関数を呼び出す必要があるかどうかを確認します。

于 2011-03-23T14:28:33.743 に答える
2

また、linkifyの使用を中止し、linkifyの正規表現を使用して、クリック可能なスパンを目的の場所に接続することもできます。これらのクリック可能なスパンは、コードを呼び出すことができます。

次に例を示します。Android:クリック可能なテキストからアクティビティを起動する

于 2011-03-22T15:03:25.237 に答える
0

特定のスキームをリッスンするレシーバーを設定できます。リンクをクリックすると、そのスキームで始まるURLが呼び出されます。

詳細については、この回答を確認してください。

于 2011-03-19T16:54:27.117 に答える
-2

いいえ。Linkifyには次のものが付属しています。

  • EMAIL_ADDRESSES
  • MAP_ADDRESSES
  • PHONE_NUMBERS
  • WEB_URLS

あなたはそれを拡張してみることができます。これがsrcコードです。

于 2010-07-12T15:51:45.390 に答える