How to open camera directly in panorama/photospher

2019-01-08 19:49发布

问题:

I am stuck in a problem in Android 4.2 Jelly Bean.

How can I open camera from my application, by default in panorama/360 photosphere mode?

I have searched a lot in grepcode and also Camera.Parameters, but nothing seems to help. Does anybody have any clues to open camera in panorama mode apart from video and image?

回答1:

there is no standard way to do it. AFAIK Panorama, Photoshere are proprietary features of Gallery3d (provided by Google) package com.google.android.gallery3d. It's depends on firmware of the device.

in ApplicationManifest.xml

<activity clearTaskOnLaunch="true" screenOrientation="0" name="com.google.android.apps.lightcycle.ProtectedPanoramaCaptureActivity" theme="resource_id:0x1030007" configChanges="1184" label="resource_id:0x7f0a00b2" windowSoftInputMode="35" taskAffinity="com.google.android.camera">
<intent-filter>
<action name="android.intent.action.MAIN">
</action>
</intent-filter>
</activity>

I've tried to start this activity from my application

    Intent res = new Intent();
    String mPackage = "com.google.android.gallery3d";
    String mClass = "com.google.android.apps.lightcycle.ProtectedPanoramaCaptureActivity";

    res.setComponent(new ComponentName(mPackage,mClass));
    startActivity(res);

but it throws NullPointerException in camera app.



回答2:

I am also looking to open photosphere camera in my application or at least show photosphere option in normal camera.I searched lot but i didn't find any solution.

I think we don't have any solution to open photosphere camera.We need wait for next Android API release.

How to open photosphere camera?



回答3:

you can open all default camera function using below code

 Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
    startActivity(intent);