我正在使用此方法来分享我的Feed数据:
public void shareFeed() {
try {
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "SUB");
intent.putExtra(Intent.EXTRA_TEXT, "Body");
startActivityForResult(Intent.createChooser(intent, "Choose an Email client :"), 1);
} catch (Exception e) {
e.printStackTrace();
}
}
这里是我的onActivityResult代码,但每次成功或失败时都会获得数据:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
}
}
}
我想在成功后执行调用Web服务,因此我需要共享意图回调结果。
答案 0 :(得分:9)
ACTION_SEND
不会返回任何形式的结果。引用the documentation:
输出:没有
使用startActivityForResult()
毫无意义,您将无法获得结果。
在API Level 22(Android 5.1)及更高版本的设备上,欢迎您使用以createChooser()
为参数的IntentSender
变体。这将让您知道用户从选择器中做出的选择。但是:
这不会告诉您用户是否发送了任何内容
如果用户放弃选择器,我认为你没有发现任何东西(尽管你可能会认为没有选择表示放弃)
答案 1 :(得分:2)
ACTION_SEND的documentation表示没有输出(即:不生成结果)。