Я пытаюсь поймать ответ от share chooser, который отправляет вложение электронной почты, поэтому я знаю, когда я удалю файл с SD-карты.intentChooser возвращает нечетный requestCode
intentChooser
вызывается из Fragment
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"email"});
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_TEXT, "body");
Uri uri = Uri.fromFile(file);
intent.putExtra(Intent.EXTRA_STREAM, uri);
startActivityForResult(Intent.createChooser(intent, "Send..."), Consts.SHARE_INTENT);
Где SHARE_INTENT является public static final int SHARE_INTENT = 2;
Тогда в Activity
, который держит этот фрагмент, я пытаюсь поймать ответ через
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == Consts.SHARE_INTENT) {
if (resultCode == RESULT_OK) {
//do something
}
if (resultCode == RESULT_CANCELED)
Toast.makeText(this, "Share cancelled", Toast.LENGTH_SHORT).show();
}
}
Тогда Я открываю список выбора и отменяю его, касаясь его, но тогда я не поймаю 4
как requestCode
, но я получаю нечетное число, например 144563.
У кого-нибудь есть идеи, почему это происходит?