0

longclick を使用して、電話のすべてのテキストまたはパッセージ (たとえば、他のアプリケーションから) の単語を取得することは可能ですか? たとえば、単語翻訳者を作成したいのですが、翻訳するために携帯電話のあらゆる場所ですべての単語を取得できる必要があります (babylon 翻訳者のような Android アプリ)。TextView/EditText でタップして単語を選択するなどの解決策があることは知っていますが、これらの回答は別のアプリケーションのビューには使用できません。すべての回答に感謝し、英語が下手で申し訳ありません

4

1 に答える 1

0

longclick を使用して、電話のすべてのテキストまたはパッセージ (たとえば、他のアプリケーションから) の単語を取得することは可能ですか?

いいえ。

存在する最も近いものACTION_PROCESS_TEXTAndroid 6.0+ にあります。権限のあるアクティビティがある場合<intent-filter>、フローティング アクション モードに含まれ、ユーザーは切り取り、コピー、貼り付けなどを行うことができます。

<intent-filter>
    <action android:name="android.intent.action.PROCESS_TEXT"/>
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="text/plain" />
</intent-filter>

ユーザーがアクティビティを選択すると、強調表示されたテキストが追加で表示されますIntent

でも:

  • これは、現時点で Android デバイス市場の約 0.0% を占める Android 6.0+ のみを対象としています。もちろん、それは時間の経過とともに改善されます。

  • ユーザーは、フローティング アクション モードでアクティビティのエントリをタップして、これをオプトインする必要があります。ユーザーがたまたまテキストを強調表示したからといって、そのテキストが自動的に表示されるわけではありません。

このサンプル プロジェクトACTION_PROCESS_TEXTは、Android 6.0 でアクティビティを実装する方法を示しています。

于 2015-10-22T23:00:07.037 に答える