package com.commonsware.android.perm.tutorial; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.Toast; import com.commonsware.cwac.cam2.CameraActivity; import com.commonsware.cwac.cam2.VideoRecorderActivity; import java.io.File; public class MainActivity extends Activity { private static final int RESULT_PICTURE_TAKEN=1337; private static final int RESULT_VIDEO_RECORDED=1338; private File rootDir; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); File downloads=Environment .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); rootDir=new File(downloads, "RuntimePermTutorial"); rootDir.mkdirs(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Toast t=null; if (resultCode==RESULT_OK) { if (requestCode==RESULT_PICTURE_TAKEN) { t=Toast.makeText(this, R.string.msg_pic_taken, Toast.LENGTH_LONG); } else if (requestCode==RESULT_VIDEO_RECORDED) { t=Toast.makeText(this, R.string.msg_vid_recorded, Toast.LENGTH_LONG); } t.show(); } } public void takePicture(View v) { takePictureForRealz(); } public void recordVideo(View v) { recordVideoForRealz(); } private void takePictureForRealz() { Intent i=new CameraActivity.IntentBuilder(MainActivity.this) .to(new File(rootDir, "test.jpg")) .updateMediaStore() .build(); startActivityForResult(i, RESULT_PICTURE_TAKEN); } private void recordVideoForRealz() { Intent i=new VideoRecorderActivity.IntentBuilder(MainActivity.this) .quality(VideoRecorderActivity.Quality.HIGH) .sizeLimit(5000000) .to(new File(rootDir, "test.mp4")) .updateMediaStore() .forceClassic() .build(); startActivityForResult(i, RESULT_VIDEO_RECORDED); } }