2011-04-14 18 views

回答

0

你可以看到这个库http://code.google.com/p/android-screenshot-library/。它在后台运行,并且可以让你在没有root的情况下制作截图。

+0

我下载了压缩文件,可以告诉我如何将此应用程序与我的应用程序集成在一起 – Monali 2011-04-14 09:16:36

+0

@ user437833您可以看到该项目的Wiki - http://code.google.com/p/android-screenshot-library/ wiki/DeveloperGuide – vendor 2011-04-14 12:41:59

+0

ASL利用在后台运行的本地服务,每设备启动一次通过Android调试桥(ADB)启动。 – 2011-04-14 18:01:28

2

不能从你的应用程序中,除非手机是植根(不具备的代码)进行打印屏幕。

然而,你可以通过模拟器打印屏幕,但这不是问题。

为了完整起见:
模拟器PRINTSCREEN
你必须将手机通过USB连接,请在Eclipse Debug透视图中,选择“设备”选项卡,在列表中选择您的设备,然后单击“屏幕捕获“图标。

0

在按钮点击事件中定义函数;

Button btnCap = (Button) findViewById(R.id.btnTakeScreenshot); 
btnCap.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     try { 
      CaptureMapScreen(); 
     } catch (Exception e) { 
      // TODO: handle exception 
      e.printStackTrace(); 
     } 

    } 
}); 

这是你的键盘上的功能CaptureMapScreen()

public void CaptureMapScreen() 
{ 
SnapshotReadyCallback callback = new SnapshotReadyCallback() { 
     Bitmap bitmap; 

     @Override 
     public void onSnapshotReady(Bitmap snapshot) { 
      // TODO Auto-generated method stub 
      bitmap = snapshot; 
      try { 
       FileOutputStream out = new FileOutputStream("/mnt/sdcard/" 
        + "MyMapScreen" + System.currentTimeMillis() 
        + ".png"); 

       // above "/mnt ..... png" => is a storage path (where image will be stored) + name of image you can customize as per your Requirement 

       bitmap.compress(Bitmap.CompressFormat.PNG, 90, out); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    }; 

    myMap.snapshot(callback); 

    // myMap is object of GoogleMap +> GoogleMap myMap; 
    // which is initialized in onCreate() => 
    // myMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map_pass_home_call)).getMap(); 
}