PICK インテント フィルターを実装しようとしていますが、これまでのところコンテキスト メニューに表示されていますが、その方法でアプリを起動した人に応答するにはどうすればよいですか?
アクティビティがあるとしましょう:
<activity
android:name="ListActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
今、私は写真を共有し、自分のアプリを選択してそれを取得することで、Facebook を介してこのアクティビティを開始します。次のコードがあります。
File f = new File(Environment.getExternalStorageDirectory(), "image.jpg");
Uri uri = Uri.fromFile(f);
if(f.exists()) System.out.println("exists");
Intent data = new Intent();
data.setData(uri);
setResult(RESULT_OK, data);
finish();
ただし、Facebook アプリ (現在実装をテストしている場所) では何も起こりません。代わりに、Facebook の「写真を共有」を再度使用し、ギャラリー アプリを使用して画像を選択すると、アプリを機能させたいときに機能します。
私は何を間違えましたか?