UI is opening only for the 1st time

Hi Team,

I have recently used Zoom SDK for android referring the example2. My aim to to simply join the meeting. I am able to successfully see the UI for the first time after installing the app. For subsequent launches the UI is not shown. But the user is able to join the meeting, the video stream of the user can be viewed by those who joined from desktop app.

I am using target android SDK 30. My device is Android 8.1 Oreo

Hi @krishna.teja, thanks for using our SDK.

I have not been able to reproduce this behavior you are describing. Can you please provide a screenshot of what you are seeing on subsequent attempts?

Thanks!

Hi @jon.lieblich, thank you for quick response

I am just seeing a notification “Meeting in Progress”. User stays in the previous screen from where the launchMeeting is called. But the user has successfully joined the meeting. I am seeing the following logs after launch meeting is triggered

*2021-03-20 12:46:53.397 7021-7021/com.biotech.zoom I/MSPSP: onZoomSDKInitializeResult, errorCode=0, internalErrorCode=0*
  • 2021-03-20 12:46:53.499 7021-7021/com.biotech.zoom I/CameraManagerGlobal: Connecting to camera service*
  • 2021-03-20 12:46:53.503 7021-7021/com.biotech.zoom W/CameraManagerGlobal: [soar.cts] ignore the status update of camera: 2*
  • 2021-03-20 12:46:53.503 7021-7021/com.biotech.zoom W/CameraManagerGlobal: [soar.cts] ignore the status update of camera: 3*
  • 2021-03-20 12:46:53.756 7021-7021/com.biotech.zoom E/SensorManager: registerListenerImpl sensorName:lsm6ds3c Accelerometer Non-wakeup,isWakeUpSensor:false,callingApp: com.biotech.zoom,callingPid:7021,callingUid:10288*
  • 2021-03-20 12:46:54.211 7021-7021/com.biotech.zoom I/MSPSP: MeetingStatus=MEETING_STATUS_CONNECTING, errorCode=0, internalErrorCode=0*
  • 2021-03-20 12:46:56.619 7021-7086/com.biotech.zoom D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@68cc927[MainActivity]*
  • 2021-03-20 12:46:59.115 7021-7021/com.biotech.zoom W/AudioTrack: Use of stream types is deprecated for operations other than volume control*
  • 2021-03-20 12:46:59.116 7021-7021/com.biotech.zoom W/AudioTrack: See the documentation of AudioTrack() for what to use instead with android.media.AudioAttributes to qualify your playback use case*
  • 2021-03-20 12:46:59.117 7021-7021/com.biotech.zoom I/OnePlusAudioTrackInjector: stop() packageName: com.biotech.zoom, sampleRate: 48000*
  • 2021-03-20 12:46:59.117 7021-7021/com.biotech.zoom D/AudioTrack: ClientUid 10288 AudioTrack::stop *
  • 2021-03-20 12:46:59.117 7021-7021/com.biotech.zoom D/AudioTrack: ClientUid 10288 AudioTrack::stop *
  • 2021-03-20 12:46:59.125 7021-7021/com.biotech.zoom I/AudioManager: In setMode(), mode: 0, calling application: com.biotech.zoom*
  • 2021-03-20 12:46:59.478 7021-7021/com.biotech.zoom W/om.biotech.zoom: type=1400 audit(0.0:16948): avc: denied { ioctl } for path=“socket:[1904175]” dev=“sockfs” ino=1904175 ioctlcmd=0x8927 scontext=u:r:untrusted_app:s0:c32,c257,c512,c768 tcontext=u:r:untrusted_app:s0:c32,c257,c512,c768 tclass=udp_socket permissive=0*
  • 2021-03-20 12:46:59.502 7021-7021/com.biotech.zoom W/AudioTrack: Use of stream types is deprecated for operations other than volume control*
  • 2021-03-20 12:46:59.502 7021-7021/com.biotech.zoom W/AudioTrack: See the documentation of AudioTrack() for what to use instead with android.media.AudioAttributes to qualify your playback use case*
  • 2021-03-20 12:46:59.503 7021-7021/com.biotech.zoom I/AudioManager: In setMode(), mode: 3, calling application: com.biotech.zoom*
  • 2021-03-20 12:46:59.548 7021-7021/com.biotech.zoom I/OnePlusAudioTrackInjector: play() packageName: com.biotech.zoom*
  • 2021-03-20 12:46:59.548 7021-7021/com.biotech.zoom I/OnePlusAudioTrackInjector: bufferSizeInBytes:7688, sampleRate:48000*
  • 2021-03-20 12:46:59.550 7021-7021/com.biotech.zoom D/AudioTrack: ClientUid 10288 AudioTrack::start *
  • 2021-03-20 12:46:59.592 7021-7021/com.biotech.zoom I/MSPSP: MeetingStatus=MEETING_STATUS_IN_WAITING_ROOM, errorCode=0, internalErrorCode=0*
  • 2021-03-20 12:47:24.284 7021-7086/com.biotech.zoom D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@68cc927[MainActivity]*
  • 2021-03-20 12:48:18.398 7021-7021/com.biotech.zoom W/om.biotech.zoom: type=1400 audit(0.0:16956): avc: denied { read } for name=“u:object_r:persist_camera_prop:s0” dev=“tmpfs” ino=13869 scontext=u:r:untrusted_app:s0:c32,c257,c512,c768 tcontext=u:object_r:persist_camera_prop:s0 tclass=file permissive=0*
  • 2021-03-20 12:48:18.409 7021-7021/com.biotech.zoom E/libc: Access denied finding property “persist.vendor.camera.privapp.list”*
  • 2021-03-20 12:48:18.418 7021-7021/com.biotech.zoom W/om.biotech.zoom: type=1400 audit(0.0:16957): avc: denied { read } for name=“u:object_r:persist_camera_prop:s0” dev=“tmpfs” ino=13869 scontext=u:r:untrusted_app:s0:c32,c257,c512,c768 tcontext=u:object_r:persist_camera_prop:s0 tclass=file permissive=0*
  • 2021-03-20 12:48:18.431 7021-7021/com.biotech.zoom E/libc: Access denied finding property “persist.vendor.camera.privapp.list”*
  • 2021-03-20 12:48:18.724 7021-7021/com.biotech.zoom E/SensorManager: unregisterListenerImpl callingApp: com.biotech.zoom,callingPid:7021,callingUid:10288*
  • 2021-03-20 12:48:18.774 7021-7021/com.biotech.zoom I/OnePlusAudioTrackInjector: stop() packageName: com.biotech.zoom, sampleRate: 48000*
  • 2021-03-20 12:48:18.775 7021-7021/com.biotech.zoom D/AudioTrack: ClientUid 10288 AudioTrack::stop *
  • 2021-03-20 12:48:18.775 7021-7021/com.biotech.zoom D/AudioTrack: stop(643): called with 3802080 frames delivered*
  • 2021-03-20 12:48:18.775 7021-7021/com.biotech.zoom I/OnePlusAudioTrackInjector: stop() packageName: com.biotech.zoom, sampleRate: 48000*
  • 2021-03-20 12:48:18.776 7021-7021/com.biotech.zoom D/AudioTrack: ClientUid 10288 AudioTrack::stop *
  • 2021-03-20 12:48:18.776 7021-7021/com.biotech.zoom D/AudioTrack: ClientUid 10288 AudioTrack::stop *
  • 2021-03-20 12:48:18.784 7021-7021/com.biotech.zoom I/AudioManager: In setMode(), mode: 0, calling application: com.biotech.zoom*
  • 2021-03-20 12:48:18.946 7021-7021/com.biotech.zoom I/MSPSP: MeetingStatus=MEETING_STATUS_RECONNECTING, errorCode=0, internalErrorCode=0*
  • 2021-03-20 12:48:19.523 7021-7021/com.biotech.zoom I/MSPSP: MeetingStatus=MEETING_STATUS_IDLE, errorCode=0, internalErrorCode=0*
  • 2021-03-20 12:48:19.794 7021-7021/com.biotech.zoom I/MSPSP: MeetingStatus=MEETING_STATUS_CONNECTING, errorCode=0, internalErrorCode=0*
  • 2021-03-20 12:48:19.954 7021-7085/com.biotech.zoom D/DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@68cc927[MainActivity]*
  • 2021-03-20 12:48:22.976 7021-7021/com.biotech.zoom W/AudioTrack: Use of stream types is deprecated for operations other than volume control*
  • 2021-03-20 12:48:22.976 7021-7021/com.biotech.zoom W/AudioTrack: See the documentation of AudioTrack() for what to use instead with android.media.AudioAttributes to qualify your playback use case*
  • 2021-03-20 12:48:22.977 7021-7021/com.biotech.zoom I/OnePlusAudioTrackInjector: stop() packageName: com.biotech.zoom, sampleRate: 48000*
  • 2021-03-20 12:48:22.977 7021-7021/com.biotech.zoom D/AudioTrack: ClientUid 10288 AudioTrack::stop *
  • 2021-03-20 12:48:22.977 7021-7021/com.biotech.zoom D/AudioTrack: ClientUid 10288 AudioTrack::stop *
  • 2021-03-20 12:48:22.982 7021-7021/com.biotech.zoom I/AudioManager: In setMode(), mode: 0, calling application: com.biotech.zoom*
  • 2021-03-20 12:48:23.405 7021-7021/com.biotech.zoom E/libc: Access denied finding property “persist.vendor.camera.privapp.list”*
  • 2021-03-20 12:48:23.398 7021-7021/com.biotech.zoom W/om.biotech.zoom: type=1400 audit(0.0:16973): avc: denied { read } for name=“u:object_r:persist_camera_prop:s0” dev=“tmpfs” ino=13869 scontext=u:r:untrusted_app:s0:c32,c257,c512,c768 tcontext=u:object_r:persist_camera_prop:s0 tclass=file permissive=0*
  • 2021-03-20 12:48:23.421 7021-7021/com.biotech.zoom E/libc: Access denied finding property “persist.vendor.camera.privapp.list”*
  • 2021-03-20 12:48:23.408 7021-7021/com.biotech.zoom W/om.biotech.zoom: type=1400 audit(0.0:16974): avc: denied { read } for name=“u:object_r:persist_camera_prop:s0” dev=“tmpfs” ino=13869 scontext=u:r:untrusted_app:s0:c32,c257,c512,c768 tcontext=u:object_r:persist_camera_prop:s0 tclass=file permissive=0*
  • 2021-03-20 12:48:23.444 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)*
  • 2021-03-20 12:48:23.444 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)*
  • 2021-03-20 12:48:23.445 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->putInt(Ljava/lang/Object;JI)V (greylist, linking, allowed)*
  • 2021-03-20 12:48:23.445 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, linking, allowed)*
  • 2021-03-20 12:48:23.447 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)*
  • 2021-03-20 12:48:23.448 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed)*
  • 2021-03-20 12:48:23.448 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)*
  • 2021-03-20 12:48:23.450 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)*
  • 2021-03-20 12:48:23.452 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Llibcore/io/Memory;->pokeByte(JB)V (greylist, reflection, allowed)*
  • 2021-03-20 12:48:23.452 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Llibcore/io/Memory;->peekByte(J)B (greylist, reflection, allowed)*
  • 2021-03-20 12:48:23.453 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)*
  • 2021-03-20 12:48:23.453 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed)*
  • 2021-03-20 12:48:23.453 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)*
  • 2021-03-20 12:48:23.453 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, reflection, allowed)*
  • 2021-03-20 12:48:23.453 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->putInt(Ljava/lang/Object;JI)V (greylist, reflection, allowed)*
  • 2021-03-20 12:48:23.453 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)*
  • 2021-03-20 12:48:23.453 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, reflection, allowed)*
  • 2021-03-20 12:48:23.453 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, reflection, allowed)*
  • 2021-03-20 12:48:23.453 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, reflection, allowed)*
  • 2021-03-20 12:48:23.453 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)*
  • 2021-03-20 12:48:23.455 7021-7021/com.biotech.zoom W/om.biotech.zoo: Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed)*
  • 2021-03-20 12:48:23.448 7021-7021/com.biotech.zoom W/om.biotech.zoom: type=1400 audit(0.0:16975): avc: denied { ioctl } for path=“socket:[1912600]” dev=“sockfs” ino=1912600 ioctlcmd=0x8927 scontext=u:r:untrusted_app:s0:c32,c257,c512,c768 tcontext=u:r:untrusted_app:s0:c32,c257,c512,c768 tclass=udp_socket permissive=0*
  • 2021-03-20 12:48:23.478 7021-7021/com.biotech.zoom W/AudioTrack: Use of stream types is deprecated for operations other than volume control*
  • 2021-03-20 12:48:23.478 7021-7021/com.biotech.zoom W/AudioTrack: See the documentation of AudioTrack() for what to use instead with android.media.AudioAttributes to qualify your playback use case*
  • 2021-03-20 12:48:23.479 7021-7021/com.biotech.zoom I/AudioManager: In setMode(), mode: 3, calling application: com.biotech.zoom*
  • 2021-03-20 12:48:23.870 7021-7021/com.biotech.zoom I/OnePlusAudioTrackInjector: play() packageName: com.biotech.zoom*
  • 2021-03-20 12:48:23.870 7021-7021/com.biotech.zoom I/OnePlusAudioTrackInjector: bufferSizeInBytes:7688, sampleRate:48000*
  • 2021-03-20 12:48:23.872 7021-7021/com.biotech.zoom D/AudioTrack: ClientUid 10288 AudioTrack::start *
  • 2021-03-20 12:48:23.931 7021-7021/com.biotech.zoom I/AudioManager: In isBluetoothScoAvailableOffCall(), calling appilication: com.biotech.zoom, return value: true*
  • 2021-03-20 12:48:23.933 7021-7021/com.biotech.zoom I/AudioManager: In setSpeakerphoneOn(), on: true, calling application: com.biotech.zoom*
  • 2021-03-20 12:48:23.960 7021-7021/com.biotech.zoom I/MSPSP: MeetingStatus=MEETING_STATUS_INMEETING, errorCode=0, internalErrorCode=0*

Hi @krishna.teja,

Can you please provide a screenshot of what you are seeing after navigating back to the Meeting tab in the example2 app the second time?

Thanks!

The example2 app is working fine. I just copied the CustomMeetingActivity to my project and invoked it by calling joinMeeting. I have added my custommeetingactivity in config.xml

Is it mandatory to put the custom ui activity inside the MainActivity?

Even if I try to call joinMeeting without custommeetingactivity I get the same issue. Please help!!!

Hi @krishna.teja,

I am not sure which Activity you are referring to, as there is no file by that name in either of the sample projects. That being said, the sample projects are meant to serve as a reference only. Copying single files from that project into your own project can cause issues while compiling or running your project.

Can you please provide additional context around what you are trying to accomplish so that I may better assist?

Thanks!

Hi @jon.lieblich

It is MyMeetingActivity and not CustomMeetingActivity.

My Requirement:
Step1: Join a meeting hosted from a desktop/Web app.
Step2: Use a custom UI

My Implementation:
I have downloaded the SDK for Android and added the mobiletrc and commonlib projects as dependencies
I Have initialised the ZoomSDK with appSecret and appKey and the initialisation listener gives success callback (error and internalError values are 0)
I created a CustomMeetingActivity referring the MyMeetingActivity in example2. I have added the entry in config.xml
Then I am calling the joinMeeting function from MeetingService class by passing meetingId and password. (The meeting host on desktop/web app can see me in the participant list and can see my video stream as well)

Issue:
I am not seeing any User Interface. I could see my custom UI only for the 1st launch. For the subsequent app launches, I am neither seeing the default zoom ui nor my custom ui

Specifications:
I am using latest Android SDK for Zoom
I am using Kotlin Programming Language
I have not declared any permissions in AndroidManifest. (I followed the AndroidManifest of example2)
I have enabled Camera/Mic/Storage/Phone permissions for my app
compileSdkVersion 30
buildToolsVersion “30.0.3”
minSdkVersion 27
targetSdkVersion 30

Please let me know if I am missing anything here. Example2 project works fine for me. I almost did the same configurations

Hi @krishna.teja,

Thank you for clarifying. The SDK will only handle starting the MeetingActivity for you if you are using the default meeting UI. If you are utilizing a custom meeting UI, you are solely responsible for all UI tasks, including launching the Activity you will host your meeting UI in and updating the UI elements during the meeting.

Thanks!