2016-12-26 5 views
1

Panorama APIを使用してパノラマ画像を表示しようとしていますが、画像を起動しようとすると、PanoramaResult.getViewerIntent()メソッドはnullを返し、nullにはなりません。Panorama APIの目的

PanoramaResultの結果である:

Status{statusCode=SUCCESS, resolution=null} 

とコード:

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

}

答えて

0

戻り 画像がパノラマである場合、これはヌルではないと開始時にビューアを起動します。画像がパノラマでない場合、これはnullになります。

Documentation

あなたのイメージが有効なパノラマですか?

0

Nexus 5のカメラモードのパノラマで作成した画像

関連する問題