Проблема с захватом изображения на Motorola Milestone - PullRequest
0 голосов
/ 26 февраля 2011

Ниже приведен простой фрагмент кода, иллюстрирующий проблему.
Почему значение поля «tag», зарегистрированное в методе «onActivityResult», не является «tag_modified»?
Я также пробовал другие асинхронные вызовы startActivityForResult", но такой проблемы не существует.
Эта проблема просто возникает на моем Moto Milestone, но на HTC G7 все идет хорошо.

public class HelloSnapshot extends Activity {

        private static Logger logger = Logger.getLogger(HelloSnapshot.class.getName());

        final int REQUESTCODE_SNAPSHOT = 1;

        String tag = "tag_initial";

        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

                Button button = new Button(this);
                button.setText("BUTTON");
                button.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {

                                tag = "tag_modified";

                                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                                startActivityForResult(intent, REQUESTCODE_SNAPSHOT);
                        }
                });

                setContentView(button, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        }

        public void onActivityResult(int requestCode, int resultCode , Intent data) {
                switch (requestCode) {
                case REQUESTCODE_SNAPSHOT:
                        if (resultCode == Activity.RESULT_OK) {

                                logger.info(tag);

                        }
                        break;
                }
        }
}

1 Ответ

0 голосов
/ 27 марта 2011

Я выяснил это ...

Некоторые ОС Android убивают снимок, вызывая Activity, чтобы избежать исключения, связанного с памятью.Итак, мне нужно сохранить все состояния с помощью метода onSaveInstanceState и извлечь их, когда вызывающее действие было построено снова.

Более того, я также обнаружил, что вся информация, хранящаяся в памяти, склоннастерты, как эти объекты Singleton.Таким образом, я должен сделать сохранение с помощью некоторых подходов постоянного хранения и восстановить их позже.

...