gpt4 book ai didi

android - 截图崩溃应用

转载 作者:行者123 更新时间:2023-12-03 17:29:27 26 4
gpt4 key购买 nike

我尝试创建一个屏幕截图应用程序,但是以某种方式无法获取根目录内容。

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.Canvas;
import android.os.Environment;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.View.MeasureSpec;

public class Screenshot extends Activity {

public final String TAG = "Screen";


String output;
public String takeScreen(String savepathname) {

Log.e(TAG, "TAKESCREEN 01");

//View content = findViewById(R.id.button1);
//View content = findViewById(R.id.layoutroot);

//View content = getWindow().getDecorView().findViewById(android.R.id.content);
Log.e(TAG, "TAKESCREEN 01.5");
content.setDrawingCacheEnabled(true);

Log.e(TAG, "TAKESCREEN 02");

//View content = findViewById(R.id.layoutroot);
Bitmap bitmap = content.getDrawingCache();
File file = new File( Environment.getExternalStorageDirectory() + savepathname);

Log.e(TAG, "TAKESCREEN 03");

try{
Log.e(TAG, "TAKESCREEN 04");

file.createNewFile();
Log.e(TAG, "TAKESCREEN 05");
FileOutputStream ostream = new FileOutputStream(file);
Log.e(TAG, "TAKESCREEN 06");
bitmap.compress(CompressFormat.PNG, 100, ostream);
Log.e(TAG, "TAKESCREEN 07");
ostream.close();
output = "Successfully saved -> "+savepathname;
}catch (Exception e) {
e.printStackTrace();
output = "Screenshot.java -> "+e;
}

return output;
}
}

如果我使用findViewbyId,则只会收到此错误:“layoutroot无法解析或不是字段”。

使用“getWindow()。getDecorView()。findViewById(android.R.id.content);”时可以,但是应用程序在那部分崩溃了。

有人可以帮我吗?

最佳答案

您是否也实现了这一部分?如果没有,请将其放在Screen类中。顺便说一句,我坚信遍历this activity lifecycle tutorial会对您有所帮助。

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

假设在activity_main.xml中正确描述了button1和layoutroot

关于android - 截图崩溃应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24481281/

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