我有应用程序,我让用户制作屏幕截图并分享它,所有工作正常只是一个问题..
当用户例如制作截图并按下Facebook图标>然后他按取消分享,下次当他想再做一次他会看到旧屏幕拍摄时,怎么能让它最后一次截图?
**我的每个图像都有不同的文件名,但共享始终采取最后一个未完成的操作。 (如果用户分享所有将工作正常,下一个屏幕拍摄将是新的)
这是我的代码
public Bitmap takeScreenshot() {
View rootView = findViewById(android.R.id.content).getRootView();
rootView.setDrawingCacheEnabled(true);
return rootView.getDrawingCache();
}
public void saveBitmap(Bitmap bitmap) {
imagePath = new File(Environment.getExternalStorageDirectory() ,
"SCREEN"
+ System.currentTimeMillis() + ".png");
FileOutputStream fos;
try {
fos = new FileOutputStream(imagePath);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
} catch (IOException e) {
Log.e("GREC", e.getMessage(), e);
}
}
private void shareIt() {
uri =Uri.fromFile(imagePath);
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("image/*");
String shareBody = "جرب تطبيق نكت عراقية مضحكة الان!";
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "تطبيق نكت
عراقية مضحكة");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
sharingIntent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(sharingIntent, "مشاركة بواسطة"));
}
答案 0 :(得分:0)
你可以做类似这样的事情。从你的图像名称移除System.currentTimeMillis(),这样就没有多个截图副本。所以当你上传图像时,它总是有新截图。现在你捕获另一个截图,你必须检查存在的文件是否存在然后将其删除。
200 (OK)