android app中,我想从intentChooser 中抓取发送邮件的附件,以便知道是什么时候从sd卡中删除文件的时候
intentChooser 在下面的Fragment 中被调用
1
2
3
4
5
6
7
8
9
|
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;
在下面的代码中我想获得返回结果
1
2
3
4
5
6
7
8
9
10
11
12
|
@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();
}
}
|
运行结果我得到的返回值是 144563 而不是预期的 4 ,why?
处理方法
少了一段代码 super.onActivityResult(requestCode, resultCode, data).
原文地址:http://www.itmmd.com/201411/96.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。