7

Web と stackoverflow には、ACTION_GET_CONTENT インテントを使用して別の Android アプリからファイルを取得する方法 (たとえば、電子メールの添付ファイルとして使用する方法) の例がいくつか含まれています。しかし、ACTION_GET_CONTENT イベントのコンテンツを提供するアプリケーションを作成するには、どのような種類のクラスを実装する必要がありますか。たとえば、このアプリを選択できます (たとえば、電子メールの添付ファイルを選択するため)。

ContentProvider は適切なソリューションですか? AndroidManifest.xml に何を追加する必要がありますか?

4

2 に答える 2

16

数時間の Web 検索の後、次の解決策を見つけました。

  1. インテントを処理するアクティビティを実装します。その中で、次のコードまたはより具体的なコードを使用します。

    Uri resultUri = // the thing to return
    Intent result = new Intent();
    result.setData(resultUri);
    setResult(Activity.RESULT_OK, result);
    finish();
    
  2. 以下をマニフェストに追加します。

    <activity
        android:name="ActivityName"
        android:label="Some label" >
        <intent-filter>
            <action android:name="android.intent.action.GET_CONTENT" />
            <category android:name="android.intent.category.OPENABLE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="*/*" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.PICK" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="*/*" />
        </intent-filter>
    </activity>
    
于 2012-08-13T18:56:02.900 に答える