从活动中取消活动意图

时间:2014-12-12 10:45:52

标签: android android-intent

我有这种打开原生相机的方法。

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);

}

它工作得很好,但是如果用户忘记了,或者我的应用需要关注的东西,我希望能够返回我的活动。有没有办法可以从我的活动中做到这一点?

2 个答案:

答案 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);



}


    }