我正在尝试使用后台服务拍摄屏幕截图。该服务就像一个Facebook聊天头,但是我希望它在单击时拍摄屏幕截图。
预览图片
我已经开发了一些代码,但是没有用。我尝试过的最后一个是:
private void takeScreenshot() {
Date now = new Date();
android.text.format.DateFormat.format("yyyy-MM-dd_hh:mm:ss", now);
// image naming and path to include sd card appending name you choose for file
String mPath = Environment.getExternalStorageDirectory().toString() + "/capture/" + now + ".jpg";
// create bitmap screen capture
Bitmap bitmap;
View v1 = chatHead.getRootView();
v1.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
OutputStream fout = null;
File imageFile = new File(mPath);
try {
fout = new FileOutputStream(imageFile);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fout);
fout.flush();
fout.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但是正在将屏幕截图带到我的按钮而不是屏幕上。
我知道问题在这里:
View v1 = chatHead.getRootView();
但我不知道如何解决。谁能帮我?
我实际上正在使用Android Studio 2.2.2和Android 4.0或更高版本。
对于Lollipop及更高版本,您可以使用Google
的MediaProjection
API截取屏幕截图,但需要征得用户的许可。
您可以使用MediaProjection 在此处找到示例屏幕捕获代码
对于少于Lollipop的设备,您需要具有root权限。
我想创建一个小应用程序,在后台记录数据。所以我试着用绑定服务。这很好,但如果我关闭应用程序,服务也会停止。< br >那么,我的问题是:使用即时服务来执行这一操作是不是一个好方法?当应用程序关闭时,我如何保持服务在后台运行(我也想在启动后启动它)?
我正在开发一个Android应用程序,这个应用程序是一个家长顾问应用程序,它将安装在父母的手机和孩子的手机上。我的问题是,在男孩不知情的情况下,如何从他的手机中截图?
7.1 ABP后台服务 - 后台作业和后台工人 7.1.1 简介 ABP提供了后台作业和后台工人,来执行应用程序中的后台线程的某些任务。 7.1.2 后台作业 由于各种各样的原因,你需要后台作业以队列和持久化的方式来排队执行某些任务。 例如: 用户等待执行一个长时任务。例如:某个用户按下了报表按钮生成一个需要长时间等待的报表。你添加这个工作到队列中,当报表生成完毕后,发送报表结果到该用户的邮箱。
高清截屏 在“视图”菜单栏中点击高清出图,弹出对话框如下。设置图片大小是几倍窗口大小,设置好图片输出路径,点击确定输出图片。
链接 后台作业和后台工人 集成Hangfire 集成Quartz
如何在Android奥利奥继续后台服务而不显示通知点?我使用通知继续我的后台服务,但我不想显示运行服务的通知。