【发布时间】:2013-02-28 21:04:53
【问题描述】:
我想以编程方式截取 Android 设备的屏幕截图。
我知道这个问题已经被问过很多次了。我知道有两种方法可以做到这一点。
- 使用截图库(但我一直黑屏)。
-
从以
\dev\graphics\fb0为根的帧缓冲区获取数据(但它始终为 0 字节,我不知道存储当前设备屏幕截图的确切位置)。我的首选要求是获得更好的帧速率。我的代码是public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent intent = new Intent(); intent.setClass(this, ScreenshotService.class); bindService (intent, new ServiceConnection() { @Override public void onServiceDisconnected(ComponentName name) { } @Override public void onServiceConnected(ComponentName name, IBinder service) { try { asl = IScreenshotProvider.Stub.asInterface(service); } catch (Exception ex) { Log.e("errrorrrrrrrrrrrrr","errrorrrrrrrrrrr", ex); } } }, Context.BIND_AUTO_CREATE); Button b1=(Button) this.findViewById(R.id.widget33); b1.setOnClickListener(new OnClickListener() { public void onClick(View view) { try { asl.takeScreenshot(); } catch (RemoteException ex) { Log.e("nnnnerrrrrrrrrrrrrr","errrrrrrrrrrrrr",ex); } } }); }'
【问题讨论】:
-
Android 没有内置的截图库。你在说什么图书馆?
-
Linux 上的路径分隔符是
/而不是 \。 -
您是在谈论以编程方式截取屏幕截图,还是简单地使用另一个应用程序,或者从 Eclipse,或者..?
-
以编程方式截取屏幕截图
标签: android screenshot