कुछ स्थितियों में, हमें अपने एप्लिकेशन के स्क्रीन शॉट लेने की अनुमति नहीं देनी चाहिए। यह उदाहरण दर्शाता है कि जब मेरा ऐप बैकग्राउंड में जाता है तो मैं एंड्रॉइड को स्क्रीनशॉट लेने से कैसे रोकूं।
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<टेक्स्ट व्यू एंड्रॉइड:आईडी ="@ + आईडी / ओपनयूट्यूब" एंड्रॉइड:टेक्स्ट ="यूट्यूब एप्लिकेशन खोलें" एंड्रॉइड:टेक्स्ट साइज ="20 एसपी" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" " />
उपरोक्त कोड में, हमने कुछ नमूना दृश्य के लिए टेक्स्ट व्यू लिया है।
चरण 3 - निम्न कोड को src/MainActivity.java
में जोड़ें <पूर्व>पैकेज com.example.andy.myapplication;import android.os.Build;import android.os.Bundle;import android.support.annotation.RequiresApi;import android.support.v7.app.AppCompatActivity;import android.view .WindowManager;पब्लिक क्लास MainActivity AppCompatActivity का विस्तार करती है {@RequiresApi(api =Build.VERSION_CODES.JELLY_BEAN) @Override संरक्षित शून्य onCreate(Bundle saveInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); setContentView(R.layout.activity_main); }}पूर्व>उपरोक्त कोड में हमने वर्तमान गतिविधि पर स्क्रीनशॉट को रोकने के लिए पैरेंट विंडो के लिए फ़्लैग जोड़े हैं जैसा कि नीचे दिखाया गया है-
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,WindowManager.LayoutParams.FLAG_SECURE);
आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -
परिणाम में, हम स्क्रीनशॉट लेने का प्रयास कर रहे हैं, इसने रिक्त परिणाम दिया।