我正在尝试从发送电子邮件附件的共享选择器中捕获响应,因此我知道何时将从sdcard中删除该文件。
从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。
任何人都知道为什么会发生这种情况?
答案 0 :(得分:0)
如回答https://stackoverflow.com/a/6147919/437039所述,我不小心删除了对super.onActivityResult(requestCode, resultCode, data)
的电话。
任何有类似问题的人,请查看我在此链接的答案。