com.android.camera Процесс НЕ уничтожается - PullRequest
0 голосов
/ 01 декабря 2011

Я пытаюсь захватить изображение с помощью android.provider.MediaStore.ACTION_IMAGE_CAPTURE , и кажется, что все работает нормально, единственная проблема в том, что процесс com.android.camera не уничтожаетсяпосле возвращения, и это мешает выполнению остальной части приложения.

Так что мне интересно, почему он не уничтожается и как я могу уничтожить его, когда захват сделан?Спасибо, любая помощь будет оценена.

Вот мой код:

    private OnClickListener buttonCaptureListener = new OnClickListener(){
    public void onClick(View v){
        String path = Environment.getExternalStorageDirectory() + "/"+Long.toHexString(System.currentTimeMillis())+".jpg";
        File file = new File(path);
        Uri outputFileUri = Uri.fromFile(file);

        Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
        startActivityForResult(intent,SelectImagesActivity.REQUEST_CAPTURE);                
    }
};

Обработка результатов:

    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == SelectImagesActivity.REQUEST_CAPTURE){
        if(resultCode == RESULT_OK){
            // display image and etc.
        }
    }
}

1 Ответ

0 голосов
/ 01 декабря 2011

Я также думаю, что это нормальное действие, что процесс не уничтожается сразу.

И я предлагаю ниже код для явного значения.
отличается от того, что добавление дополнительных данных - («вернуть данные», true) - в намерение.

private OnClickListener buttonCaptureListener = new OnClickListener(){
    public void onClick(View v){
        String path = Environment.getExternalStorageDirectory();
        String file_name = Long.toHexString(System.currentTimeMillis())+".jpg";
        File file = new File(path , file_name);
        Uri outputFileUri = Uri.fromFile(file);

        Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
        intent.putExtra("return-data", true);
        startActivityForResult(intent,SelectImagesActivity.REQUEST_CAPTURE);                
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...