如何用程序实现抓取android桌面 google 一下 “android 截屏 实现” 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class TaxiCardActivity extends Activity { private static final String TAG = TaxiCardActivity.class.getName(); private Button btnShort; public static String SCREEN_SHOTS_LOCATION = "/sdcard/CityGuide/Shanghai/"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.taxicard); btnShort = (Button) findViewById(R.id.btnShots); btnShort.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { View taxi=(View)findViewById(R.id.taxiCard); try { takeScreenShot(taxi,SCREEN_SHOTS_LOCATION); } catch (Exception e) { // TODO Auto-generated catch block Log.e("tag",TAG); } } }); } public static void takeScreenShot(View view) throws Exception { takeScreenShot(view, "default"); } public static void takeScreenShot(View view, String name) throws Exception { view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap b = view.getDrawingCache(); FileOutputStream fos = null; try { File sddir = new File(SCREEN_SHOTS_LOCATION); if (!sddir.exists()) { sddir.mkdirs(); } fos = new FileOutputStream(SCREEN_SHOTS_LOCATION +"taxicard" + ".png"); if (fos != null) { b.compress(Bitmap.CompressFormat.PNG, 90, fos); fos.close(); } } catch (Exception e) { Log.e("tag",TAG); } } 我要截取得不是当前界面,我想截取得android手机得桌面 android还没有像win32提供getdesktopdc这样的方法吧,截图倒是可以从framebuffer中读取,如果是自己程序的view可以使用getDrawingCache,获取桌面没方法,除非强制吧 推荐你一款叫豌豆荚的手机管理软件,他能实现手机的截屏,对android sdk里的模拟器也识别,也可以截屏的,,不知道你说的android 桌面是不是这个意思 手机桌面?那更简单了,直接可以getwallper的,就能得到当前手机桌面的背影图了! Android SDK中有个工具可以实现截屏:ddms 但你要知道的是,桌面是一个activity窗口,在后台可能会挂起的,当然这涉及到比home更2的,解锁屏,在policy base.git可以找到,我们如果模仿win32,hook住底层的activitymanager,可以处理,这需要下unix下rootkit一点技术了,同时常规机器必须root,你给RMB的话,我可以写一个有空时 楼主,300 RMB,本周末下午有空。 有返回值的函数里弹出android对话框的问题 一个android问题。高度问题。 编译 android 4.0.1 出现错误,请高手指点 android 消息队列如何使用 关于微博qq空间分享集成 android百度地图应用地图只显示一小块的问题 安卓两个悬浮窗的上下层问题 为什么会出现unfortunately has stopped 如何让人物跑起来。改了两天还是有错误 ViewPager嵌套scrollView嵌套ViewPager滑动不了了,求救 更新程序后无法安装 JAVA jdk是日文的,模拟器里也是日文,如何改成中文
private static final String TAG = TaxiCardActivity.class.getName();
private Button btnShort;
public static String SCREEN_SHOTS_LOCATION = "/sdcard/CityGuide/Shanghai/"; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.taxicard);
btnShort = (Button) findViewById(R.id.btnShots);
btnShort.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
View taxi=(View)findViewById(R.id.taxiCard);
try {
takeScreenShot(taxi,SCREEN_SHOTS_LOCATION);
} catch (Exception e) {
// TODO Auto-generated catch block
Log.e("tag",TAG);
}
} }); }
public static void takeScreenShot(View view) throws Exception {
takeScreenShot(view, "default");
} public static void takeScreenShot(View view, String name) throws Exception {
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap b = view.getDrawingCache();
FileOutputStream fos = null;
try {
File sddir = new File(SCREEN_SHOTS_LOCATION);
if (!sddir.exists()) {
sddir.mkdirs();
}
fos = new FileOutputStream(SCREEN_SHOTS_LOCATION +"taxicard" + ".png");
if (fos != null) {
b.compress(Bitmap.CompressFormat.PNG, 90, fos);
fos.close();
}
} catch (Exception e) {
Log.e("tag",TAG); } }