Android 设备是否需要根目录才能从代码中截图?
我已经看到许多不同的答复,所以谁能给一个积极的答复请? 运行最新操作系统的设备是否需要根目录才能从代码中截图? 我正试图这样做,我只是得到一个黑色的图片(与我的屏幕尺寸相同)。Android 设备是否需要根目录才能从代码中截图?,android,screenshot,root,Android,Screenshot,Root,我已经看到许多不同的答复,所以谁能给一个积极的答复请? 运行最新操作系统的设备是否需要根目录才能从代码中截图? 我正试图这样做,我只是得到一个黑色的图片(与我的屏幕尺寸相同)。 如果您想在自己的应用程序之外拍摄其他应用程序的屏幕截图,非常感谢 是设备需要根目录 我也搜索了一下,但从未找到解决方案 即使在根目录下,也没有一个明确的解决方案可以适用于所有型号。要获取其他应用程序的屏幕截图,您需要根目录。要拍摄屏幕截图,请使用帧缓冲区 要获取应用程序的屏幕截图,您可以使用以下代码获取活动的屏幕截图:
如果您想在自己的应用程序之外拍摄其他应用程序的屏幕截图,非常感谢 是设备需要根目录 我也搜索了一下,但从未找到解决方案
即使在根目录下,也没有一个明确的解决方案可以适用于所有型号。要获取其他应用程序的屏幕截图,您需要根目录。要拍摄屏幕截图,请使用帧缓冲区 要获取应用程序的屏幕截图,您可以使用以下代码获取活动的屏幕截图: 这将获得活动的位图 代码:
你说的是哪个操作系统?对不起-kitkat和jelly Bean你不能截取整个屏幕的截图。只有你的应用程序的内容(和入口一样,你会得到你的整个布局,甚至屏幕外的东西)。谢谢你的回复。我试过你的代码和许多其他人,但我总是得到一个黑色的图片。我假设我找不到正确的视图,因为如果我使用画布并手动绘制到该画布,效果会很好,我可以在屏幕截图中看到该绘图。也许我没有从正确的地方调用代码?在所有渲染完成后,我将在渲染器中执行此操作。
public class MainAvtivity extends Activity
{
ImageView imgView;
Button btnScreenshot;
View rootView;
Bitmap bmap;
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main)
imgView = (ImageView)findViewById(R.id.imageView);
btnScreenshot = (Button)findViewById(R.id.btnScreenshot);
rootView = findViewById(android.R.id.content).getRootView();
btnScreenshot.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
imgView.setImageBitmap(null);
bmap = takeScreenshot();
setImgView(bmap);
}
}
public Bitmap takeScreenshot()
{
rootView.setDrawingCacheEnabled(true);
rootView.buildDrawingCache(true);
Bitmap b = Bitmap.createBitmap(rootView.getDrawingCache());
rootView.setDrawingCacheEnabled(false);
return b;
}
public void setImgView(Bitmap bitmap)
{
imgView.setImageBitmap(bitmap);
}
}