منع اخذ سكرين شوت داخل التطبيق في فلاتر بسهوله

منع اخذ سكرين شوت داخل التطبيق في فلاتر بسهوله


منع اخذ سكرين شوت داخل التطبيق في فلاتر بسهوله

في بعض الاحيان عند العمل على مشروع يكون يهتم بالخصوصيه تحتاج الى ان تقوم بوضع امكانية لمنع اخذ لقطة شاشه او حتى تسجيل فيديو , وهذه الميزة موجوده في عدد كبير من التطبيقات الموجوده على الانترنت وكثير من تطبيقات الاسئلة والاجوبه التعلمية تقوم بوضع هذه الميزة في تطبيقاتها وذلك لمنع الغش بين الطلب وعدم تصوير الاسئله ايضا التطبيق العملاق facebook يهتم بوضع هذه الميزة في تطبيقه داخل الصفحات التي تقوم بتفعيل ميزة الخصوصيه لزيادة الحمايه .


الفلاتر عبارة عن مجموعة تطوير تطبيقات الهاتف المحمول (SDK) تسمح لك بكتابة تطبيق في قاعدة بيانات واحدة وترجمته لكل من Android و iOS. وفقًا لتعريف إطار العمل الرسمي لـ Wikipedia ، فإن مرشحات Flutter هي إطار عمل.

تم إنشاء Flutter Framework من الألف إلى الياء ، مع استخدام Dart و C ++ لكتابته وبنائه. لا يزال في مرحلة تجريبية ، وبالتالي تم إصدار إطار عمل المرشحات رسميًا ولكنه لا يزال في المراحل الأولى من النجاح. هل ستعمل أم لا؟ هذا هو الموقف الذي يجد فيه إطار عمل المرشحات نفسه حاليًا ، ويبدو أنه ينجح.

يتفاعل إطار عمل المرشحات مع لغة برمجة Dart ويستخدم في الغالب لتطوير واجهة المستخدم.


dependencies:


  flutter_windowmanager: ^0.2.0



How to disable screenshot and record for flutter


يمكنك اضافة المكتبة السابقه لديك في البرنامج وبعدها سوف تتمكن من اسخدام الاكواد التاليه بكل سهوله , قمنا بعمل زر لمنع التقاط الشاشه وزر اخر لتمكين التقاط الشاشه يمكنك وضع الكود داخل الinit لكي يعمل بشكل تلقائي في بداية فتح التطبيق وبهذا لن يكون المستخدم قادر على اخذ لقطة شاشة او حتى تسجيل فيديو داخل تطبيقك .


How to disable screenshot and record for flutter

screen.dart


class CodeLess extends StatefulWidget {
  const CodeLess({Key? key}) : super(key: key);

  @override
  State<CodeLess> createState() => _CodeLessState();
}

class _CodeLessState extends State<CodeLess> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: [
            // noScreenShot
            MaterialButton(onPressed: () async{
              await FlutterWindowManager.addFlags(FlutterWindowManager.FLAG_SECURE);
            },child: Text('noScreenShot'),),
            // clear noScreenShot
            MaterialButton(onPressed: () async {
              await FlutterWindowManager.clearFlags(FlutterWindowManager.FLAG_SECURE);
            },child: Text('celare noScreenShot'),),
          ],
        ),
      ),
    );
   }
}


مزيد من المقالات

  1. حل مشكلة minCompileSdk (31) specified in a dependency's AAR
  2. عمل مؤشر لتتبع الخطوات في فلاتر | flutter stepper
  3.  كود منع تدوير الشاشه في التطبيقات بإستخدام فلاتر
  4.  شرح كيفية عمل post للبيانات من نوع params داخل الapi في flutter
  5. شرح كيفية استخدام الapi مع repostery في Flutter وتنظيم الكود


تعليقات