Onbackpress to go out of application

Hi aadil9265711,

Thanks for the post. TO override the behavior of the back button, you may refer to the discussion in this post: java.lang.UnsatisfiedLinkError has been throwed When initialize ZoomSDK

Hope this helps. Thanks!

no there not answer i wanna know ,
i m using sample example.
please listen i m in meeting okay , in meeting i was press backpress it throw me out of the application but meeting is still in progress

i just need when click on onbackpress show popup dialog of leave meeting and once click on leave it will come at baseActivity thats my point

Hi aadil9265711,

Thanks for the reply. I understand your request and the link includes the discussion of how to do what you are mentioning. I have just tested with our demo app(sample), using default UI, and I am able to override the back button action. Here are the steps:

  1. Create your own activity, for example, MyMeetingActivity
  2. In config.xml, add the following:
<string name="zm_config_conf_activity">us.zoom.sdksample.MyMeetingActivity</string>
  1. Declare the Activity in your AndroidManifest.xml
  2. In your MyMeetingActivity class, extends MeetingActivity
public class MyMeetingActivity extends MeetingActivity {
...
}
  1. Override the onBackPressed method:
@Override
    public void onBackPressed() {
 onClickLeave();
...
}
  1. If you would like define other actions other than calling the leave meeting dialog, you can do whatever you prefer in this callback.

Hope this helps. Thanks!

but sir i m not using custom ui please understand ,

also i implement that thinks it can’t work

please explain me again for that and give same code for that

and m using Android Studio For your information
thanking you

Hi aadil9265711,

Thanks for the reply. The test I did with our demo app is using the Zoom default UI, not custom UI.

And the steps I provided above are the exact steps that you could override the back button action.

If you are facing any issues, please provide more info on the error you are getting so we could further help you.

Hope this helps. Thanks!

sir,

i have getting like this error when Extend MeetingActivity.
application crashed when app is open with below error

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.khatridevelopers.videocalling, PID: 28996
java.lang.RuntimeException: Unable to destroy activity {com.khatridevelopers.videocalling/com.khatridevelopers.videocalling.Activitys.HomeActivity}: java.lang.IllegalArgumentException: Receiver not registered: com.zipow.videobox.ConfActivityNormal$7@bf0ce86
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4562)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4580)
at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:39)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:150)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:73)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6831)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:927)
Caused by: java.lang.IllegalArgumentException: Receiver not registered: com.zipow.videobox.ConfActivityNormal$7@bf0ce86
at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:1275)
at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1515)
at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:669)
at com.zipow.videobox.ConfActivityNormal.onDestroy(ConfActivityNormal.java:1065)
at android.app.Activity.performDestroy(Activity.java:7524)
at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1306)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4547)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4580)
at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:39)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:150)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:73)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6831)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:927)

Hi Carson,

I am also facing the same problem with override the back button (using sample). It called onMeetingStatusChanged when joined the meeting. However, the isCustomizedMeetingUIEnabled() return false. Thus, the code will not run showMeetingUi().

My question is it seems will not start the intent MyMeetingActivity. So, which intent is it running? If the MyMeetingActivity is not running, the back button overrides should not take effect too.

Please help for it. Thanks.

Hi aadil9265711,

Thanks for the reply. Could you provide the steps of how to reproduce this crash? One more tip for the steps I mentioned above, in the onBackPressed() method, you could do the following to call the leave meeting dialog:

@Override
    public void onBackPressed() {
          onClickLeave();
   }
...
}

Hope this helps. Thanks!

Hi shingshing6,

Thanks for the reply. Are you using Zoom default UI or Custom UI? If isCustomizedMeetingUIEnabled() returns false, it means you do not have the license to use Custom UI.

If you are trying to override the back button action in Zoom default UI, you may refer to my answer above: Onbackpress to go out of application

Hope this helps. Thanks!

Hi Carson,

Thanks for your reply.

Is it i cannot init the SDK in MyMeetingActivity? If i run this code InitAuthSDKHelper.getInstance().initSDK(this,this), it required the listener InitAuthSDKCallback.
Therefore,

public class MyMeetingActivity extends MeetingActivity {

}

is not suitable to create the MyMeetingActivity.

On the other hand, may I know if the SDK suuports other language or not? i am using the version 4.4.57218.1211. If support, how to i change the language when launching Zoom.

Thanks.

Hi shingshing6,

Thanks for the reply. The SDK initialization is an async request so the initialization result will present in the listener onZoomSDKInitializeResult, and the meeting services will not work if the SDK has not been initialized successfully, so it would not be a good idea to have the SDK initialization in the meeting activity class.

To change language, you may use this interface https://zoom.github.io/zoom-sdk-android/us/zoom/sdk/ZoomSDK.html#setSdkLocale-android.content.Context-java.util.Locale- to change the language in the meeting UI. For example, if you would like to change to Chinese:

mZoomSDK.setSdkLocale(context, Locale.CHINESE);

Hope this helps. Thanks!

Hi Carson,

It works. Thanks a lot.

I would like to know if the SDK size can reduce or not? It is around 80MB now. If reduced, any impacts?

Thanks again.

Hi shingshing6,

Thanks for the reply. Please see my response in this post for the answer to your question: App size estimate

Thanks!

Dear Carson,

Thanks a lot. However, after removed x86 and armeabi-v7a, it still around 45MB.

Is that no more optimize in app size can do?

Thanks.

Hi shingshing6,

I am afraid there is no other way to further optimize the app size.

Thanks!

Hi Carson,

It is sad that the size cannot further optimize. I hope your team can develop a slim SDK sooner or later.

On the other hand, may I know if the meeting can limited to certain number of people?
Let say 2 users. eg: Only the host and one other user can join the meeting.

Thanks.

Hi shingshing6,

Thanks for the suggestion. If you would like to limit the number of people who can join the meeting, you can lock the meeting after you have enough participants in the meeting. Or you could only share the meeting info to certain number of people.

Hope this helps. Thanks!

Hi Carson,

Thanks for your reply. I mean is there any setting or API call that limit the participant before create the meeting?

Please assume the below case:

  1. Do not click the lock button during the meeting
  2. Do not send the meeting info. It will get from some backend call.

Thus, I only want the one to one meeting room.

Thanks.

Hi shingshing6,

Thanks for the reply. Besides the 2 ways that I mention above, I do not see any other ways of doing that.

Thanks!