2011-04-14 63 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(); 
}