誰でも次のソースコードの例を提供できますか:
「インテントを開始すると、Android は [Complete Action Using] ダイアログをポップアップします。」
誰でも次のソースコードの例を提供できますか:
「インテントを開始すると、Android は [Complete Action Using] ダイアログをポップアップします。」
マニフェストで同じインテントを処理することを宣言したアプリケーションが 2 つ以上ある場合、Android はそのダイアログを表示します。この動作を実証するために必要なのは、同じインテントに応答する 2 つのサンプル アプリケーションです。単純な Hello World の例を見つけて、それを複製し、マニフェストを変更して、そのうちの 1 つに別の名前を付けて、3 つ目のアプリを呼び出すことができます。startActivity()
同じ意図で。
アプリを選択肢の 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を参照してください
このポップアップを表示したいだけの場合は、それを処理する既存のアプリケーションが複数あるアクションを実行してみてください。
たとえば、電子メール アドレスを含むテキスト メッセージを自分宛てに送信します。電子メール アドレスは、タップできるリンクに変わります。デフォルトのオプションでは、Complete action using
ポップアップが表示さGmail
れMail
ます。