скриншот после создания - PullRequest
       18

скриншот после создания

0 голосов
/ 22 февраля 2012

Я пытаюсь сделать снимок экрана сразу после показа активности, теперь у меня есть одно решение, например, вот так:

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

поместил код в OnCreate действия, но я обнаружил, что иногда действие начинаетсяочень медленный, это больше 1500 мм, тогда захваченное растровое изображение будет пустым, я хочу найти аналогичную функцию или обратный вызов, как onShown () или onDraw (), но не смог найти его.Есть ли какой-нибудь обратный вызов, который вызывается только тогда, когда отображаются все представления в действии, тогда я могу разместить здесь код экрана захвата, мне это нужно, большое спасибо.

Ответы [ 2 ]

1 голос
/ 22 февраля 2012

Вы пытались запустить ScreenManager.captureScreen () из onStart или onResume - они вызываются после onCreate. onResume будет вызываться, если приложение переходит в фоновый режим и обратно, хотя вам потребуется создать логическое значение для проверки.

Здесь может помочь диаграмма жизненного цикла активности: http://developer.android.com/reference/android/app/Activity.html

0 голосов
/ 22 февраля 2012

Вы можете использовать следующий код для создания снимка,

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