Block the user from taking screenshot or screen recording using any 3rd party app

Description
When the user is attending the zoom session, he can take screenshot or record the session using third party app

Steps to reproduce the behavior:
I have integrated the Zoom meeting sdk in my Android app.
When the user joins a meeting via the zoom meeting sdk, then screen shot or screen share can be taken without the speaker consent using any 3rd party screen recorder say XRecorder.

Although I have declared getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);

Since it happens in Zoom sdk in a separate window, I am unable to control it.
Kindly help me iresolving the issue

Smartphone information
Any smartphone with Android 9 and above

1 Like

Hi @anand3450,

Are you using the default UI provided by the SDK? If so, you should be able to do this by extending the MeetingActivity.

Thanks!

1 Like

I am getting the following error message after extending MeetingActivity
java.lang.AssertionError
at com.zipow.videobox.util.PreferenceUtil.initialize(SourceFile:1)
at com.zipow.videobox.x.a.b.a(SourceFile:10)
at com.zipow.videobox.ConfActivity.onCreate(SourceFile:2)
at com.zipow.videobox.d.onCreate(SourceFile:1)
at com.zipow.videobox.ConfActivityNormal.onCreate(SourceFile:7)
at us.zoom.sdk.MeetingActivity.onCreate(SourceFile:1)
at android.app.Activity.performCreate(Activity.java:8151)
at android.app.Activity.performCreate(Activity.java:8135)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3715)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3914)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2339)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:258)
at android.app.ActivityThread.main(ActivityThread.java:8219)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)

I am using the latest ZoomMeeting sdk ie 5.10.1.5.184

1 Like

Hi @anand3450,

Can you please provide the full stack trace for the exception you’re seeing? It looks like this is only part of it.

Thanks!

1 Like

Can you please provide an example on how to disable screen shots inside zoom live meeting. We are using android zoom sdk version ‘zoom-sdk-android-5.10.1.5184’

The solution you provided to extend meetingActivity leads to lots of errors and doubts.

It would be very generous of zoom community to help me.

Looking forward for a solution.
Thanks in advance.

Hi @jainvishal258,

Unfortunately we do not currently have any documentation on how to implement this. Can you please provide some additional context around the specific errors you are seeing?

Thanks!

In Android
public class ZoomMeetActivity extends MeetingActivity {
public static final String TAG = “ZoomMeetActivity”;

@Override
protected void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    setContentView(R.layout.activity_zoom_meet);
    Log.d(TAG,"Inside onCreate ");
}

}

When I run the app, The code "Inside onCreate " is not called.

In Logcat I am getting error as
java.lang.AssertionError
at com.zipow.videobox.util.PreferenceUtil.initialize(SourceFile:1)
at com.zipow.videobox.x.a.b.a(SourceFile:10)
at com.zipow.videobox.ConfActivity.onCreate(SourceFile:2)
at com.zipow.videobox.d.onCreate(SourceFile:1)
at com.zipow.videobox.ConfActivityNormal.onCreate(SourceFile:7)
at us.zoom.sdk.MeetingActivity.onCreate(SourceFile:1)
at android.app.Activity.performCreate(Activity.java:8151)
at android.app.Activity.performCreate(Activity.java:8135)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3715)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3914)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2339)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:258)
at android.app.ActivityThread.main(ActivityThread.java:8219)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)

Hi @anand3450,

It’s difficult to tell for sure without full context of the error, but this may be due to the fact that you are calling setContentView. When you extend the MeetingActivity, the SDK still creates and maintains its own UI, so trying to set this on the Activity can cause several issues. Can you try removing that line and see if you’re still seeing a crash?

Thanks!

In Android
public class ZoomMeetActivity extends MeetingActivity {

}

Logcat:

AndroidRuntime: FATAL EXCEPTION: main
Process: com.learn.allendigital, PID: 20006
java.lang.AssertionError
at com.zipow.videobox.util.PreferenceUtil.initialize(PreferenceUtil.java:1)
at com.zipow.videobox.x.a.b.a(ZmMeetingUIHelper.java:10)
at com.zipow.videobox.ConfActivity.onCreate(ConfActivity.java:2)
at com.zipow.videobox.d.onCreate(ConfAccessibilityActivity.java:1)
at com.zipow.videobox.ConfActivityNormal.onCreate(ConfActivityNormal.java:7)
at us.zoom.sdk.MeetingActivity.onCreate(MeetingActivity.java:1)
at com.learn.allendigital.ZoomMeetActivity.onCreate(ZoomMeetActivity.java:12)
at android.app.Activity.performCreate(Activity.java:8151)
at android.app.Activity.performCreate(Activity.java:8135)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3715)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3914)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2339)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:258)
at android.app.ActivityThread.main(ActivityThread.java:8219)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)

Although I have only MeetingActivity, but still I am getting the error .

Hi @anand3450,

Can you please check the suggestion on my previous reply and let me know if that changes anything?

Thanks!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.