我正在尝试使用Panorama API查看全景图像,但是当我尝试启动图像时,PanoramaResult.getViewerIntent()方法返回null,并且不应该为null。
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();
}}
发布于 2016-12-27 00:04:33
发布于 2016-12-27 00:18:40
我在Nexus5相机模式全景模式下拍摄的图像
https://stackoverflow.com/questions/41333497
复制相似问题