我有这种打开原生相机的方法。
public void takePhoto(){
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
Uri photoUri;
photoUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(cameraIntent, CAM_REQUREST);
}
它工作得很好,但是如果用户忘记了,或者我的应用需要关注的东西,我希望能够返回我的活动。有没有办法可以从我的活动中做到这一点?
答案 0 :(得分:1)
startActivityForResult()
将自动返回,因此在这种情况下拍照后。如果您想在任何时候重新启动您的应用,您应该在意图中使用startActivity()
和您自己的包。
这样做:
PackageManager p = getPackageManager();
String myPackage = getApplicationContext().getPackageName();
Intent intent = p.getLaunchIntentForPackage(myPackage);
startActivity(intent);
答案 1 :(得分:0)
在您的活动中覆盖onActivityResult
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
Log.e(TAG, "--onActivityResult MainActivity--");
if (requestCode == CAM_REQUREST && resultCode == RESULT_OK) {
Uri selectedImage = intent.getData();
Log.e(TAG, "Your image :" + selectedImage);
}
}