7

ブラウザやメッセージなどのアプリケーションでテキストが選択されたときに、アクティビティやアプリケーションを起動できるかどうか疑問に思っていました.

切り取り、コピー、貼り付けのオプションを示す小さなポップアップが表示される場所でテキストを選択するときのように。そこに別のボタンを追加できますか?アプリケーションを起動するには?

どうすればそれを行うことができ、データをアプリケーションに送信できますか..

ありがとうございました !

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    setContentView(R.layout.main);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);
4

2 に答える 2

5

ここで説明するように、あなたが説明していることに最も近いのは、アプリがandroid.intent.action.SENDインテントを処理するものとして登録することです。

http://developer.android.com/training/sharing/receive.html

宣言は次のintent-filterようになります。

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

ユーザーが見るもの...

ユーザーが他のアプリでテキストを選択すると、アプリでサポートされている場合は、既に見たコピーと貼り付けのオプションが表示されますが、「共有」オプションも表示されます - アイコンは 3 つのドットです次の 2 本の線で接続されています。

ここに画像の説明を入力

...そして、ユーザーが「共有」アイコンをタップすると:

ユーザーに表示されるアプリのリストにアプリが表示されます。ユーザーがアプリを選択すると、抽出できる共有テキストを含むインテントを受け取ります。つまり、次のようになります。

String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);

参考文献

http://android-developers.blogspot.com/2012/02/share-with-intents.html

于 2013-05-01T21:34:09.573 に答える