Android 我们如何在安卓系统中点击按钮点击背景照片?

Android 我们如何在安卓系统中点击按钮点击背景照片?,android,android-layout,service,android-camera,background-process,Android,Android Layout,Service,Android Camera,Background Process,我有一个关于考试的学生应用程序,所以我想在考试开始时点击他/她的照片。我如何才能获得学生的照片 public class CameraDemoActivity extends Activity { int TAKE_PHOTO_CODE = 0; public static int count = 0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedIns

我有一个关于考试的学生应用程序,所以我想在考试开始时点击他/她的照片。我如何才能获得学生的照片

public class CameraDemoActivity extends Activity {
int TAKE_PHOTO_CODE = 0;
public static int count = 0;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Here, we are making a folder named picFolder to store
    // pics taken by the camera using this application.
    final String dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/";
    File newdir = new File(dir);
    newdir.mkdirs();

    Button capture = (Button) findViewById(R.id.btnCapture);
    capture.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            // Here, the counter will be incremented each time, and the
            // picture taken by camera will be stored as 1.jpg,2.jpg
            // and likewise.
            count++;
            String file = dir+count+".jpg";
            File newfile = new File(file);
            try {
                newfile.createNewFile();
            }
            catch (IOException e)
            {
            }

            Uri outputFileUri = Uri.fromFile(newfile);

            Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

            startActivityForResult(cameraIntent, TAKE_PHOTO_CODE);
        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == TAKE_PHOTO_CODE && resultCode == RESULT_OK) {
        Log.d("CameraDemo", "Pic saved");
    }
}
}

尝试以下解决方案:

File dir = new File(Environment.getExternalStorageDirectory() + "/picFolder/");
    if (Build.VERSION.SDK_INT >= 29) {
        dir = 
        getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_PICTURES + 
        "/picFolder/");
    }
    if (!dir.exists()) {
        dir.mkdir();
    }