gpt4 book ai didi

java - 生成新的屏幕截图

转载 作者:太空宇宙 更新时间:2023-11-04 11:32:32 34 4
gpt4 key购买 nike

这是我的代码。它共享相同的旧屏幕截图,我如何删除旧屏幕截图并生成新屏幕截图。而且在 Facebook 上分享时,它不会添加我提供的链接。它仅在 Facebook 和 Whatsapp 上共享屏幕截图,工作正常,但共享相同的旧图片。

  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() + "/screenshot.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 = Uri.fromFile(imagePath);
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("image/*");
String shareBody = "Can you solve this , I am stuck/n try your answer at www.shackless.shan.com";

sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
sharingIntent.putExtra(Intent.EXTRA_STREAM, uri);

startActivity(Intent.createChooser(sharingIntent, "Challenge via"));
}
public void shareOnWhatsapp(View view) {
Bitmap bitmap = takeScreenshot();
saveBitmap(bitmap);
shareIt();
}

最佳答案

我得到了必须验证绘图缓存的解决方案。使用 view.invalidate()在 setDrawingCacheEnabled(true) 之前。

  public Bitmap takeScreenshot() {
View rootView = findViewById(android.R.id.content).getRootView();

rootView.invalidate();
rootView.setDrawingCacheEnabled(true);
return rootView.getDrawingCache();
}

关于java - 生成新的屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43642908/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com