onCreate之后的截图

时间:2012-02-22 07:23:48

标签: android view screenshot oncreate

我试图在活动显示后捕捉屏幕截图,现在我有一个解决方案,就像这样

new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                // TODO Auto-generated method stub
                ScreenManager.captureScreen();
            }
        }, 1500);

将代码放在onCreate of activity中,但我发现有时活动开始很慢,超过1500毫米,然后捕获的位图将为空,我想找到类似的函数或回调,如onShown()或onDraw (),但未能找到它。是否有任何回调在调用活动中的所有视图时调用,然后我可以将捕获屏幕代码放在这里,我需要这个,非常感谢。

2 个答案:

答案 0 :(得分:1)

您是否尝试过onStart或onResume运行ScreenManager.captureScreen() - 它们在onCreate之后调用。如果应用程序进入后台并再次返回,则会调用onResume,因此您需要创建一个布尔值来进行检查。

此处的活动生命周期图可能有所帮助:http://developer.android.com/reference/android/app/Activity.html

答案 1 :(得分:0)

您可以使用以下代码拍摄快照,

ImageView v1 = (ImageView)findViewById(R.id.mImage);
v1.setDrawingCacheEnabled(true);
Bitmap bm = v1.getDrawingCache();