اگر گوشی اندرویدی دارید، احتمالاً برای شما هم پیش آمده که در برخی صفحات یا اپلیکیشنهای خاص هنگام گرفتن اسکرینشات با خطای This app doesn’t allow screenshots یا Can’t take screenshot of this page مواجه شدهاید یا هنگام ضبط صفحه، چیزی جز یک صفحهی سیاه مشاهده نکردهاید. اما چرا این خطا هنگام عکسگرفتن از برخی برنامهها ظاهر میشود و چگونه میتوان این ارور را رفع کرد؟
چرا در برخی اپلیکیشنها نمیتوانیم اسکرینشات بگیریم؟
این خطا بهدلیل APIهای امنیتی سیستمعامل اندروید است که به توسعهدهندگان اجازه میدهد تا از ضبط شدن محتوای یک پنجره یا اکتیویتی در اسکرینشات یا اسکرین ریکوردر بهجهت ملاحظات امنیتی، حریم خصوصی یا محافظت از نشر غیرمجاز محتوا جلوگیری کنند.
این پروتکل محافظتی توسط یک فلگ بهنام FLAG_SECURE داخل فریمورک اندروید، در سطح سیستمعامل اجرا میشود. در اندروید، FLAG-ها تنظیمات یا گزینههای ویژهای هستند که رفتار و ظاهر اجزای مختلفی مانند پنجرهها، Activity-ها یا View-ها را کنترل میکنند و سیستمعامل محتوای هر برنامهای که از این فلگ در کدهای خود استفاده کرده باشد را مسدود میکند تا بهغیر از نمایشگر گوشی، هیچ راه دیگری برای مشاهدهی محتوای محافظتشده وجود نداشته باشد.
FLAG_SECURE معمولاً در اپلیکیشنهایی که با تراکنشهای مالی، دادههای محرمانه یا سایر اطلاعات حساس مانند اپلیکیشنهای بانکداری، مدیریت رمز عبور یا اپلیکیشنهای پیامرسان امن سروکار دارند، استفاده میشود.
با اینکه هدف از ایجاد این محدودیت محافظت از محتوای حساس است؛ اما گاهی اوقات ممکن است لازم باشد این محدودیت را صرفاً برای مقاصدی مانند عیبیابی یا اهداف آموزشی دور بزنید. گاهی نیز برخی برنامهها بدون هیچ ضرورت قانعکنندهای و بهمنظور درنظر گرفتن حداکثر جوانب امنیتی این محدودیت را اعمال میکنند، بههمین جهت روشی توسط توسعهدهندگان ابداع شده که این محدودیت را پشت سر میگذارد که در ادامه نحوهی استفاده از این روش را توضیح میدهیم.
منبع : زومیت