当用户共享图像并按取消时,createchooser会继续使用上次通话中的信息,即使我在那里存储了新的共享信息。 如何在用户取消共享时重置意图数据??
我正在使用此代码进行分享
private void shareIt() {
uri = Uri.fromFile(imagePath);
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("image/*");
String shareBody = "try this app";
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "social share app");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
sharingIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(sharingIntent, "share by .."));
}
答案 0 :(得分:0)
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Uri screenshotUri = Uri.parse(path);
sharingIntent.setType("image/*");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(sharingIntent, "Share image using"));
使用bove代码
将此代码放入
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
答案 1 :(得分:0)
你没有更新你的ImagePath,所以所有的时间意图都显示相同的图像用于共享,在调用shareIt()方法之前更新imagePath