কিছু ক্ষেত্রে, পেমেন্ট গেটওয়ের জন্য রুটেড ডিভাইসে অ্যাপ্লিকেশন চালানোর অনুমতি দেওয়া উচিত নয়। এই উদাহরণটি দেখায় যে রুটেড ডিভাইসে চলছে কিনা তা নির্ধারণ করতে।
ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷
ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।
<?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android" android:id = "@+id/parent" xmlns:tools = "https://schemas.android.com/tools" android:layout_width = "match_parent" android:layout_height = "match_parent" tools:context = ".MainActivity" android:gravity = "center" android:orientation = "vertical"> <TextView android:id = "@+id/rootFinder" android:layout_margin = "20dp" android:textAlignment = "center" android:layout_width = "match_parent" android:layout_height = "wrap_content" /> </LinearLayout>
উপরের কোডে, আমরা একটি টেক্সট ভিউ নিয়েছি। এতে রুট সম্পর্কে তথ্য রয়েছে।
ধাপ 3 − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনpackage 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; public class MainActivity extends AppCompatActivity { int view = R.layout.activity_main; TextView rootFinder; @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(view); rootFinder = findViewById(R.id.rootFinder); executeShellCommand("su"); } private void executeShellCommand(String su) { Process process = null; try { process = Runtime.getRuntime().exec(su); rootFinder.setText("It is rooted device"); Toast.makeText(MainActivity.this, "It is rooted device", Toast.LENGTH_LONG).show(); } catch (Exception e) { rootFinder.setText("It is not rooted device"); } finally { if (process ! = null) { try { process.destroy(); } catch (Exception e) { } } } } }
উপরের কোডে, আমরা পরীক্ষা করছি ডিভাইস রুট করা আছে কি না এবং টেক্সট ভিউতে টেক্সট যুক্ত করছি। অ্যান্ড্রয়েড ডিভাইস রুট করা আছে কি না তা পরীক্ষা করতে নিচের কোডটি ব্যবহার করুন-
executeShellCommand("su"); .......................................................................................... private void executeShellCommand(String su) { Process process = null; try { process = Runtime.getRuntime().exec(su); rootFinder.setText("It is rooted device"); Toast.makeText(MainActivity.this, "It is rooted device", Toast.LENGTH_LONG).show(); } catch (Exception e) { rootFinder.setText("It is not rooted device"); } finally { if (process ! = null) { try { process.destroy(); } catch (Exception e) { } } } }
আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -
উপরের ফলাফলে দেখানো হয়েছে, আউট ডিভাইসটি এখনও রুট করা হয়নি।