74

私が構築しているこの壁紙アプリケーションで、デバイスで壁紙として使用する画像をユーザーが選択できるようにしようとしています。何らかの理由で私が書くとき:

Intent myIntent = new Intent(Intent.ACTION_PICK);
myIntent.setType("image/*");
startActivityForResult(myIntent, 100);

私はギャラリーに直接行きますが、私が書くとき:

Intent myIntent = new Intent(Intent.ACTION_GET_CONTENT, null);
myIntent.setType("image/*");
startActivityForResult(myIntent, 100);

ギャラリーまたは Google ドライブから選択できます。どのアプリから画像を取得するかをユーザーが毎回選択できるようにする最善の方法は何ですか? または、これら 2 つの異なるインテント定数が違いを生むのはなぜですか?

4

3 に答える 3

15

現代のアクションACTION_GET_CONTENTであり、よりよくサポートされています

ACTION_PICK :

アクティビティ アクション:データからアイテムを選択し、選択されたものを返します。

入力: getData() は、項目を選択するデータのディレクトリ (vnd.android.cursor.dir/*) を含む URI です。

出力:選択されたアイテムの URI。

定数値:「android.intent.action.PICK」


違い:-

アクティビティ アクション:ユーザーが特定の種類のデータを選択して返すことができるようにします。

これは ACTION_PICK とは異なり、ユーザーが選択できる既存のデータの URI ではなく、必要なデータの種類を示しているだけです。

A ACTION_GET_CONTENTユーザーが実行中にデータを作成できるようにしたり(たとえば、写真を撮ったり、音声を録音したり)、 Web を閲覧したり、必要なデータをダウンロードしたりできるようにすることができます。

参照 http://developer.android.com/reference/android/content/Intent.html#ACTION_GET_CONTENT

于 2013-07-20T18:28:55.243 に答える
-2
 public static final String ACTION_GET_CONTENT

API レベル 1 で追加

アクティビティ アクション: ユーザーが特定の種類のデータを選択して返すことができるようにします。これは ACTION_PICK とは異なり、ユーザーが選択できる既存のデータの URI ではなく、必要なデータの種類を示しているだけです。ACTION_GET_CONTENT を使用すると、ユーザーは実行中にデータを作成したり (たとえば、写真を撮ったり、音声を録音したり)、Web を閲覧したり、必要なデータをダウンロードしたりできます。

http://developer.android.com/reference/android/content/Intent.html#ACTION_GET_CONTENT経由

于 2013-07-20T18:35:46.130 に答える