如何在createChooser intent中重置数据

时间:2017-04-29 12:36:45

标签: java android android-intent start-activity

当用户共享图像并按取消时,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 .."));

}

2 个答案:

答案 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