Search code examples
androidandroid-camerapanoramasandroid-4.2-jelly-bean

How to open camera directly in panorama/photosphere mode?


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?


Solution

  • 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.