कुछ मामलों में, हमें भुगतान गेटवे के लिए रूट किए गए उपकरणों पर एप्लिकेशन चलाने की अनुमति नहीं देनी चाहिए। यह उदाहरण दर्शाता है कि कैसे निर्धारित किया जाए कि रूट किए गए डिवाइस पर चल रहा है या नहीं।
चरण 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.widget .TextView;import android.widget.Toast;सार्वजनिक वर्ग MainActivity AppCompatActivity को बढ़ाता है {int view =R.layout.activity_main; टेक्स्ट व्यू रूटफाइंडर; @RequiresApi(api =Build.VERSION_CODES.JELLY_BEAN) @Override संरक्षित शून्य onCreate (बंडल सेव्ड इंस्टेंसस्टेट) {super.onCreate(savedInstanceState); सेटकंटेंट व्यू (देखें); रूटफाइंडर =findViewById (R.id.rootFinder); निष्पादित शेल कमांड ("सु"); } निजी शून्य निष्पादन शेल कमांड (स्ट्रिंग सु) {प्रक्रिया प्रक्रिया =अशक्त; कोशिश {प्रक्रिया =Runtime.getRuntime().exec(su); rootFinder.setText ("यह रूटेड डिवाइस है"); Toast.makeText(MainActivity.this, "यह रूटेड डिवाइस है", Toast.LENGTH_LONG)। शो (); } पकड़ें (अपवाद ई) { rootFinder.setText ("यह रूटेड डिवाइस नहीं है"); } अंत में { अगर (प्रक्रिया! =अशक्त) {कोशिश {प्रक्रिया। नष्ट (); } कैच (अपवाद ई) { } } } }}उपरोक्त कोड में, हम परीक्षण कर रहे हैं कि डिवाइस रूट है या नहीं और टेक्स्ट व्यू में टेक्स्ट जोड़ रहे हैं। यह जांचने के लिए कि एंड्रॉइड डिवाइस रूट है या नहीं, निम्न कोड का उपयोग करें-
executeShellCommand("su");........................................ ……………………………………… निजी शून्य निष्पादन शेल कमांड (स्ट्रिंग सु) {प्रक्रिया प्रक्रिया =अशक्त; कोशिश {प्रक्रिया =Runtime.getRuntime().exec(su); rootFinder.setText ("यह रूटेड डिवाइस है"); Toast.makeText(MainActivity.this, "यह रूटेड डिवाइस है", Toast.LENGTH_LONG)। शो (); } पकड़ें (अपवाद ई) { rootFinder.setText ("यह रूटेड डिवाइस नहीं है"); } अंत में { अगर (प्रक्रिया! =अशक्त) {कोशिश {प्रक्रिया। नष्ट (); } कैच (अपवाद ई) { } } }}
आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -
ऊपर दिखाए गए परिणाम में, आउट डिवाइस अभी तक रूट नहीं हुआ है।