21

私はstackoverflowを見てきましたが、「createChooser」とは何か、なぜ使用できるのか、どのような状況で使用するのが良いのかについての定義が見つかりませんでした.

前もって感謝します。

4

3 に答える 3

25

例: アプリケーションに画像共有オプションがあります。

次のようにインテントを定義します。

Intent picMessageIntent = new Intent(android.content.Intent.ACTION_SEND);
picMessageIntent.setType("image/jpeg");

File downloadedPic =  new File(
    Environment.getExternalStoragePublicDirectory(
    Environment.DIRECTORY_DOWNLOADS),
    "q.jpeg");

picMessageIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(downloadedPic));

あなたが電話したときよりも:

startActivity(picMessageIntent);  

この写真を取得できる携帯電話のすべてのアプリケーションが一覧表示されます。

そのリストのタイトルをカスタマイズしたい場合は、次のように createChooser を使用できます。

startActivity(Intent.createChooser(picMessageIntent, "Send your picture using:"));

ここに画像の説明を入力

于 2012-04-24T08:46:07.570 に答える
6

アプリから startActivity(intent) が初めて呼び出されると、このインテントを処理できるすべてのアプリのリストがユーザーに表示されます。

リストのいずれかのアプリを使用して、常にこのインテントを処理するオプションもあります。このオプションを使用すると、リストは二度と表示されなくなります。

インテントで createChooser を使用する場合、「常にこのアプリを使用する」オプションは表示されません。ユーザーには常にこのリストが表示されます。

于 2014-06-04T19:03:06.200 に答える
1

このメソッドは、インテントを使用してカスタム アクションを作成する場合に使用されます... android が提供するものと同じようACTION_VIEWに...しかし、アクションを実行するための複数の選択肢がある場合、このセレクターはすべてを含むダイアログを表示します利用可能なオプションとユーザーがいずれかを選択できるようにします...これは例です

于 2012-04-24T08:35:48.590 に答える