分享屏幕拍摄安卓工作室(多次)

时间:2017-04-27 12:36:03

标签: java android share screenshot

我有应用程序,我让用户制作屏幕截图并分享它,所有工作正常只是一个问题..

当用户例如制作截图并按下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, "مشاركة بواسطة"));
 }

1 个答案:

答案 0 :(得分:0)

你可以做类似这样的事情。从你的图像名称移除System.currentTimeMillis(),这样就没有多个截图副本。所以当你上传图像时,它总是有新截图。现在你捕获另一个截图,你必须检查存在的文件是否存在然后将其删除。

200 (OK)