0

誰でも次のソースコードの例を提供できますか:

「インテントを開始すると、Android は [Complete Action Using] ダイアログをポップアップします。」

4

3 に答える 3

2

マニフェストで同じインテントを処理することを宣言したアプリケーションが 2 つ以上ある場合、Android はそのダイアログを表示します。この動作を実証するために必要なのは、同じインテントに応答する 2 つのサンプル アプリケーションです。単純な Hello World の例を見つけて、それを複製し、マニフェストを変更して、そのうちの 1 つに別の名前を付けて、3 つ目のアプリを呼び出すことができます。startActivity()同じ意図で。

于 2012-02-28T23:54:51.377 に答える
1

アプリを選択肢の 1 つとしてリストしたい場合は、次の2 つのことを行う必要があります。アクティビティのコードは次のとおりです。

public class YourActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        String value = getIntent().getStringExtra(Intent.EXTRA_TEXT);
    }
}

次に、これを AndroidManifest.xml に追加する必要があります

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

.SEND を使用したくない場合は、アクションとそのデータの完全なリストがここにあります。

http://developer.android.com/reference/android/content/Intent.html

AndroidManifest.xml で定数値を使用する必要があるため、たとえば ACTION_SEARCH は「android.intent.action.SEARCH」になります。

アプリから選択肢のリストを表示したい場合...

btnShare.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
        final String value = txtLongUrl.getText().toString();

        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.putExtra(Intent.EXTRA_TEXT, value);
        intent.setType("text/plain");

        startActivity(intent);
    }
}

実際の例については、DBitlyを参照してください

于 2012-02-29T00:03:41.067 に答える
0

このポップアップを表示したいだけの場合は、それを処理する既存のアプリケーションが複数あるアクションを実行してみてください。

たとえば、電子メール アドレスを含むテキスト メッセージを自分宛てに送信します。電子メール アドレスは、タップできるリンクに変わります。デフォルトのオプションでは、Complete action usingポップアップが表示さGmailMailます。

于 2012-02-29T01:03:33.727 に答える