我的应用程序中有一个共享按钮,其目的是share
一串信息与user selected app
(例如twitter或gmail)。问题是,当你点击分享按钮时,分享窗口出现,应用程序在后台变成黑色。完成分享后,用户返回菜单/主屏幕,必须再次打开应用程序才能从他们离开的地方继续使用
我需要的是回到我的应用程序后完成共享
这是我使用的OnClickListener:
shareButton.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = mContext.getString(R.string.shareText) + " " + profileInfo.getName() + " " + mContext.getString(R.string.shareText2);
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT, text);
shareIntent.setType("text/plain");
startActivity(shareIntent);
}
}
);
我在这里做错了什么?
用startActivityForResult()
代替startActivity()
。在Intent
动作完成后,它将返回到开始的Activity
。参见从活动帖子获取结果的例子。
并通过重写onActivityResult()方法等待响应:
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub if(requestCode == 0) {
// You will get callback here when email activity is exited
// perform you task here
}
你上面提到的共享意图代码没有问题,虽然你的onPause()
方法可能有一些问题,你可能会在那里做一些事情,尝试在添加日志后调试代码,这样你就可以跟踪问题或把你的活动代码放在这里,所以确切的问题可以识别。