Android Question Open the default camera App

Discussion in 'Android Questions' started by ElliotHC, Aug 11, 2019.

  1. ElliotHC

    ElliotHC Active Member Licensed User

    I want to open the default camera App (not the camera in my own app)

    Code:
    #Region  Project Attributes
        
    #ApplicationLabel: B4A Example
        
    #VersionCode: 1
        
    #VersionName:
        
    'SupportedOrientations possible values: unspecified, landscape or portrait.
        #SupportedOrientations: unspecified
        
    #CanInstallToExternalStorage: False
    #End Region
    #Region  Activity Attributes
        
    #FullScreen: False
        
    #IncludeTitle: True
    #End Region
    Sub Process_Globals
        
    'These global variables will be declared once when the application starts.
        'These variables can be accessed from all modules.
        Dim Pm As PackageManager 'Phone library
        Dim Inte As Intent
    End Sub
    Sub Globals
        
    'These global variables will be redeclared each time the activity is created.
        'These variables can only be accessed from this module.
    End Sub
    Sub Activity_Create(FirstTime As Boolean)
        
    'Do not forget to load the layout file created with the visual designer. For example:
        'Activity.LoadLayout("Layout1")
        For Each st As String In Pm.GetInstalledPackages
            
    Log(st)
            
    If st.Contains("camera") =True Then
              
                Inte=Pm.GetApplicationIntent(st)
      
                
    If Inte.IsInitialized Then StartActivity(Inte)
                
    Exit
            
    End If
        
    Next
    End Sub
    Sub Activity_Resume
    End Sub
    Sub Activity_Pause (UserClosed As Boolean)
    End Sub
    For some reason it won't open, I suspect it's because it's not initialized.
     
  2. DonManfred

    DonManfred Expert Licensed User

    Please use [CODE]code here...[/CODE] tags when posting code.
     
    ElliotHC likes this.
  3. ElliotHC

    ElliotHC Active Member Licensed User

    Sorry, I accidentally selected QUOTE
     
  4. DonManfred

    DonManfred Expert Licensed User

    Start with debugging. LOG ALL apps returning.
    There may be more that just ONE which contains the string camera.

    Code:
    For Each st As String In Pm.GetInstalledPackages
            
    If st.Contains("camera") =True Then
            
    Log(st)
            
    End If
        
    Next
    End Sub
    What does the log output?
     
  5. ElliotHC

    ElliotHC Active Member Licensed User

    Yes, that's in my code.

    upload_2019-8-11_10-36-44.png
     
  6. ElliotHC

    ElliotHC Active Member Licensed User

  7. ElliotHC

    ElliotHC Active Member Licensed User

  8. DonManfred

    DonManfred Expert Licensed User

    If the app is not starting then i guess there is no valid ApplicationIntent returned.
    Based on you last post the app is listed twice.
    Check both of them if they provide a valid ApplicationIntent
     
  9. ElliotHC

    ElliotHC Active Member Licensed User

    Just the one time

    upload_2019-8-11_10-44-41.png
     
  10. ElliotHC

    ElliotHC Active Member Licensed User

    It's not listed twice, I'm just logging it again if it appears.. Check the code, there is also one in side the If contains
     
  11. Erel

    Erel Administrator Staff Member Licensed User

  12. ElliotHC

    ElliotHC Active Member Licensed User

    Erel, does the Intent based camera just open the built in camera app? I need to take a super slow motion video clip using it.. I don't see how Intent Based Camera will do that for me?
     
  13. ElliotHC

    ElliotHC Active Member Licensed User

  14. ElliotHC

    ElliotHC Active Member Licensed User

    upload_2019-8-11_11-8-17.png
    Thant's the default camera App on my phone.
     
  15. ElliotHC

    ElliotHC Active Member Licensed User

    I've got it set so that when I double tap the power button it launches the camera.. Perhaps I can simulate that to achieve this? It's seems like everything is against me trying to use the camera here.
     
  16. ElliotHC

    ElliotHC Active Member Licensed User

    It would seem this issue is that the default camera is not Initialized.

    Code:
    For Each st As String In Pm.GetInstalledPackages
            
    Log(st)
            
    If st.Contains("camera") =True Then

                Inte=Pm.GetApplicationIntent(st)
                Inte.Initialize(
    "??","??")
               
                
    If Inte.IsInitialized Then StartActivity(Inte)
                
    Exit
            
    End If
        
    Next
    Would it be Inte.Initialize("",st) ?

    Or perhaps I need to allow runtime permissions

    PERMISSION_CAMERA?
     
    Last edited: Aug 11, 2019
  17. Erel

    Erel Administrator Staff Member Licensed User

    The intent based camera example will open the default camera app. If there is no default set then it will ask the user to select an app.

    If you want the user to always select the app then call Intent.WrapAsIntentChooser.
     
  18. ElliotHC

    ElliotHC Active Member Licensed User

    I can get the project to open the default camera but it either opens in the camera mode or standard video mode. I need to it open without selecting either as I have the camera set to always open in the last mode used. In my case it's Super Slow-Mo.

    Using:


    Code:
    i.Initialize("android.media.action.VIDEO_CAPTURE""")
    Opens the Video camera only letting me start the recording by pressing record.

    Code:
    i.Initialize("android.media.action.VIDEO_CAMERA""")
    Opens the camera, selects standard video and starts recording.

    Is there a android.media.action.DEFAULT_CAMERA or something like that?

    I need it to open in the last mode or in slow-mo mode but without recording.
     
  19. Erel

    Erel Administrator Staff Member Licensed User

    There is no such thing. You cannot control the third party app behavior.
     
  20. ElliotHC

    ElliotHC Active Member Licensed User

    Can I just open the app without taking a photo, video or selecting a mode?
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice