Panorama Api intent null

147 views Asked by At

I am trying to view a panoramic image with the Panorama API but when I try to get the attempt to launch the image, the PanoramaResult.getViewerIntent() method returns null and should not be in null.

The result of PanoramaResult is:

Status{statusCode=SUCCESS, resolution=null}

And the code :

 private GoogleApiClient gacClient;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    gacClient = new GoogleApiClient.Builder(this, this, this)
            .addApi(Panorama.API)
            .build();
    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    startActivityForResult(intent,CAPTURE_TERRAT_GALLERY_ACTIVITY_REQUEST_CODE);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    int columnIndex;
    Cursor cursor;
    String imagenADecodificar;

    if (requestCode==CAPTURE_TERRAT_GALLERY_ACTIVITY_REQUEST_CODE && resultCode==RESULT_OK && data!=null){
        fileUri = data.getData();
        String [] rutaColumna= {MediaStore.Images.Media.DATA};
        cursor= getContentResolver().query(fileUri,rutaColumna,null,null,null);
        cursor.moveToFirst();
        columnIndex = cursor.getColumnIndex(rutaColumna[0]);
        imagenADecodificar = cursor.getString(columnIndex);
        fileUri = Uri.parse(imagenADecodificar);
        cursor.close();
    }
}

@Override
public void onStart() {
    super.onStart();
    gacClient.connect();
}

@Override
public void onConnected(Bundle connectionHint) {
    Panorama.PanoramaApi.loadPanoramaInfo(gacClient, fileUri).setResultCallback(
            new ResultCallback<PanoramaApi.PanoramaResult>() {
                @Override
                public void onResult(PanoramaApi.PanoramaResult result) {
                    Intent i;
                    if (result.getStatus().isSuccess() && (i = result.getViewerIntent()) != null) {
                        startActivity(i);
                    } else {
                        // Handle unsuccessful result
                    }
                }
            });

}

@Override
public void onConnectionSuspended(int cause) {
    // Handle connection being suspended
}

@Override
public void onConnectionFailed(ConnectionResult status) {
    // Handle connection failure.
}

@Override
public void onStop() {
    super.onStop();
    gacClient.disconnect();
}

}

2

There are 2 answers

0
Orest Savchak On

Returns If the image is a panorama this is not null and will launch a viewer when started. If the image is not a panorama this will be null.

Documentation

Are you sure your image is valid panorama?

0
JaviDonisio2 On

The image I made with the camera mode panorama of my Nexus 5