これにより、結果を返すときにアクションを設定する目的は、通常、我々は唯一のエキストラやウリデータを設定する必要があり、Training for Android developerssetResult
//Create intent to deliver some kind of result data
Intent result = new Intent("com.example.RESULT_ACTION", Uri.parse("content://result_uri"));
setResult(Activity.RESULT_OK, result);
finish();
からのコード例です。ここでカスタムアクションを指定する目的は何ですか? 更新:
Googleのアプリで使用する画像を選択するにはギャラリーアプリを開きたいとします。
私は例のコードでは "com.example.RESULT_ACTION" を設定していない
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Check which request we're responding to
if (requestCode == PICK_IMAGE_REQUEST) {
// Make sure the request was successful
if (resultCode == RESULT_OK) {
Uri imageUri = data.getData();
// Do something with the image here
}
}
結果を処理結果
Intent result = new Intent();
result.setData(_Uri.parse("content://result_uri");
setResult(Activity.RESULT_OK, result);
finish();
を返すギャラリーアプリに
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent,PICK_IMAGE_REQUEST);
を呼び出します上記。
私の質問はここでカスタムアクションを指定することです。この場合は "com.example.RESULT_ACTION"を設定します。私はなぜそれを設定する必要があるのか分からず、必要ではないと思います。 – user3591494
@ user3591494それは必要ではない、答えを更新させてください –
ありがとう、パヴネ。私はこれが物事をクリアしたと思う。しかし、私は2つのアプリで2つのアクションではないことがなぜ役立つのか、まだ完全に理解していませんか?それについて詳しく説明したり、別の例を教えてください。 – user3591494